Quiero insertar texto en la parte superior de un archivo ya existente. Cómo puedo conseguir esto. Lo intenté echoy teeno tuve éxito.
Intenté insertar una línea de repositorio en la parte superior del sources.listarchivo desde la terminal.
Nota
Necesito una solución rápida de una línea, porque ya conocía el método de otra respuesta
apt
command-line
bash
Anwar
fuente
fuente

echo "deb http://extras.ubuntu.com/ubuntu precise main" | sudo tee -a /etc/apt/sources.list, también necesita sudo before tee para obtener privilegios de administrador. Pero, ¿por qué querrías agregar algo en la parte superior de sources.list?Respuestas:
En realidad es bastante fácil con
sed:sed -i -e '1iHere is my new top line\' filename1ile dice a sed que inserte el texto que sigue en la línea 1 del archivo; no olvide la\nueva línea al final para que la línea 1 existente se mueva a la línea 2.fuente
slugar de i in1i.echo "Text Here" >> FilenameEn edición general en su lugar con un guión es complicado, pero se puede utilizar
echoycata continuación,mvSin embargo, si está jugando con sources.list, necesita agregar un poco de validación y prueba de balas para detectar errores, etc., porque realmente no desea perder esto. Pero esa es una pregunta separada :-)
fuente
sabido que
prependes mi shell personalizado :Utilice también una ruta relativa o absoluta, debería funcionar bien:
Actualización:
si desea un script permanente para esto, abra y
nano /etc/bash.bashrcluego agregue esta función al final del archivo:Vuelva a abrir su terminal y disfrute:
fuente
¿Y por qué no usar un editor de texto genuino para eso? ed es el editor de texto estándar.
O, si desea que los comandos sean más legibles:
1: ir a primera líneai: modo de inserción.: deja de insertar, vuelve al modo normalwq: escribe y renuncia, gracias, adiós.fuente
FIRST LINE) con esto?first_linea continuación:ed -s filename < <(printf '%s\n' 1i "$first_line" . wq). Asegúrese de que la variable no se expanda a un solo punto y que no contenga ningún carácter de nueva línea (desinfecte si proviene de la entrada del usuario).Siempre existe la
awkopción. Reemplazarstringvariable con sus contenidos. Sin embargo, este no es un cambio en el lugar. Personalmente, tiendo a no hacer cambios en el lugar. Esta es definitivamente una preferencia personal. Dos cosas,-vsignifica una variable en awk y la variablense usa aquí para hacer coincidir un número de línea, efectivamenteNR == 1. Puede usar esto de muchas maneras simplemente cambiando el valor denys.Ejemplo:
fuente
Puede usar Vim en modo Ex:
1seleccione primera líneaiinsertar nueva línea de textoxguardar y cerrarfuente