Ejecutar mis propios comandos sobre un archivo abierto en less. ¿Es posible?

Ejecutar mis propios comandos sobre un archivo abierto en less. ¿Es posible?

Me preguntaba si sería posible ejecutar mis propios comandos sobre el lesscomando. Con esto me refiero a poder abrir un archivo lessy luego ejecutar algún comando mío sobre lo que estoy viendo (o incluso todo el archivo, si es necesario) mientras mantengo la pantalla como está. Por ejemplo, me gustaría poder ejecutar diferentes scripts que colorearan lo que estoy viendo actualmente de diferentes maneras, o mostrar/ocultar ciertas líneas en el archivo.

Sé que cada vez puedo hacer una ejecución diferente, cat <file> | my-script | less -Rpero eso no me brinda la experiencia de editor que lessme brinda.

Respuesta1

Puede usar el |comando menos para canalizar el archivo a través de un programa diferente.

  1. Prensa |.
  2. Introduzca una letra de marca o ^o $o ..
  3. Escriba el comando de shell para ejecutar.
  4. Prensa Enter.

Sólo se canaliza la parte del archivo entre la posición actual y la marca. La marca puede ser ^o $significar el principio y el final del archivo respectivamente, o una posición definida con el mcomando. La posición actual es la línea en la parte inferior de la pantalla si la marca está antes de eso, y la línea en la parte inferior de la pantalla en caso contrario. En particular, para canalizar todo el archivo, utilice <|$mycommando >|^mycommandpara establecer la posición en un extremo del archivo y la marca en el otro extremo. Para canalizar solo las líneas que se muestran en la pantalla, use la marca ..

El resultado del comando no permanecerá en la pantalla; Si desea explorar la salida con menos necesitará iniciar otra instancia, por ejemplo rot13 | less. Cuando abandones esa segunda instancia de less, volverás a la primera. No hay forma de reemplazar el contenido de la instancia actual con datos canalizados desde ella. Para ver los colores, recuerda correr less -R.

información relacionada