¿Hay alguna manera de editar un archivo si no hay vi, vim, joe, mcedit? En otras palabras, ¿hay alguna manera de editar un archivo usando solo los comandos de shell?
linux
shell
text-editors
editing
text-editing
Eduard Florinescu
fuente
fuente
cat file
, seguidocat >file
y arregle las partes con cortar + pegar y / o escribir, termine conctrl-d
.echo <<EOF > new.file [paste here] EOF
. Edite el contenido del archivo en la PC host.Respuestas:
En ese caso, intentaría transferir archivos y editarlos en otra computadora, luego los transferiría de nuevo. Si tiene ssh, debería tener scp (espero), por lo que debería poder insertar y extraer archivos. Si no, también puede buscar ftp para transferir archivos dentro y fuera.
Si no es así, creo que su mejor opción es intentar utilizar cat, grep, sed, echo y redirección de E / S (especialmente agregar con
>>
). Y muchos archivos temporales.Aunque si tiene acceso a perl (o algo similar), puede ejecutarlo sin argumentos y le permitirá ingresar una fuente de script desde la entrada estándar. Una vez que presione ctrl + d, puede ejecutar el script. Podrías usar ese método para crear un archivo. Sería más poderoso que piratear algo en la línea de comando como mencioné antes.
fuente
Me imagino que podría hacer lo que necesita
grep
yperl
, busque la línea que deseagrep
, edite esa línea conperl
(perl
puede actuar como un gran reemplazo parased
) y luego confirme que no hizo más cambios de los que pretendíadiff filename filename.new
. Si es así, haga los cambios permanentes:mv filename.new filename
fuente
Suponiendo que está utilizando SSH en su enrutador, también puede usar varias utilidades para transferir el archivo de regreso y cuarto a su computadora / enrutador. Puede descargar una copia en su PC, modificarla y luego volver a enviarla en SSH al enrutador mediante SFTP (consulte Putty o WinSCP si es un usuario de Windows).
Sin embargo, si está utilizando un firmware personalizado en el enrutador / puerta de enlace, es posible que tenga suerte. Hay varios paquetes de Optware que contienen editores de texto simples (y pequeños). Dependiendo de sus necesidades, puede obtener el
nano
paquete o simplemente buscar elbusybox
que contienevi
.fuente
Una forma sería generar el resultado de un eco.
Esto creará un archivo titulado bar.yxy con el texto que contiene "foo".
fuente
¿Eliminaste / bin o algo? De lo contrario, tal vez podría hackear algo junto con las utilidades de texto en los Coreutils de GNU que deberían ser estándar en un sistema Linux.
fuente