echo Hello World | nano - | less
Quiero modificar Hola -> Adiós mientras estoy en el editor de texto.
No tiene que ser con nano. Estoy atascado con la lectura estándar de nano pero requiero que escriba en un archivo (escribir en - crea un archivo llamado -)
Respuestas:
El paquete moreutils tiene un gran comando para hacer esto, llamado
vipe
. Desde la página del manual:De forma predeterminada, esto usará el
editor
comando, que generalmente es solo un enlace simbólico al editor de línea de comando predeterminado. Puede cambiar esto alterando el enlace (usoupdate-alternatives
en sistemas basados en Debian) o usando laEDITOR
variable de entorno. Por ejemplo, podrías hacer:De lo contrario, si el editor de texto en particular no tiene soporte para este tipo de cosas, creo que está atrapado en la creación manual de un archivo temporal, escribir el archivo en eso, ejecutar el editor, ingresar el archivo al resto de la tubería y eliminando el archivo temporal. El
vipe
comando básicamente se encarga de todo esto. Esto es bueno, pero el comando rara vez está disponible por defecto.fuente
El editor de texto Joe (también conocido como Joe's Own Editor ) hace lo que quieres.
El comando
echo "hello world" | joe - | less
funciona como se esperaba, aunque necesita las comillas por alguna razón.Algunos comandos (como gpg) producen una salida mostrada que no ingresa a la tubería. Esto corrompe la pantalla inicial dentro de Joe, pero presionar ctrl + r - actualizar - limpiará las cosas.
fuente
Si todo lo que desea es reemplazar "Hola" con "Adiós" (o cualquier otro reemplazo de palabras), puede evitar la edición manual en un editor a favor de la herramienta de búsqueda y reemplazo automático. Por ejemplo, "sed" puede hacer reemplazos como este:
Verifique "man sed" para más detalles.
fuente