Respuestas:
sed -e "\$aTEXTTOEND" Es la forma más sencilla.
$coincide con la última línea (es una seddirección normal ; 4aTEXTTOENDse insertaría después de la cuarta línea), aes el comando anexar y TEXTTOENDes qué agregar.
sed -e '$a\NEWLINE\\'. Reemplace NEWLINE con una nueva línea real.
No es necesario usar seden ese caso. Qué tal si
echo "<?php" >> file
<php " y " >", y cita los contenidos seleccionados de una sola vez, por lo que probablemente realmente quiera un sedfragmento.
sudo, lo que hace que esta variación falle ya que echoes un comando de shell incorporado en lugar de un archivo ejecutable que se encuentra en$PATH
echoes un built-in, pero es también un archivo ejecutable que se encuentra en$PATH
Suponiendo que desea poner la etiqueta php final a los archivos, luego
sed -i '$s/$/\n?>/' file
debería hacer el truco
Vea su publicación original para el comando todo en uno sed.
find . -type f -exec sed -i -e "1s/^/<?php /" -e "\$s/\$/ ?>/" {} \;
Utilice el comando sed 'append (a)'. Por ejemplo, para agregar dos líneas al final del archivo:
sed -i -e '$a\
foo1 bar1\
foo2 bar2' file
De una manera simple para escribir y hacer los cambios en los contenidos en una línea específica en un archivo. Si desea insertar algo en un número de línea específico, se puede usar el siguiente comando:
sed -i '2i i have started' sheikh.log
donde 2i- línea número 2 ei significa inserción. Si tiene que insertar en la última línea, use $en lugar de 2. He comenzado: el texto que se insertará y sheikh.loges el nombre del archivo.
También podemos hacer los cambios en la línea usando el siguiente comando
sed -i '2c we have started' sheikh.log
ise cambia a we.
Supongo que cualquiera que haya buscado cómo insertar / agregar texto al principio / al final de un archivo probablemente también necesite saber cómo hacer el otro.
cal | \
gsed -E \
-e '1i\{' \
-e '1i\ "lines": [' \
-e 's/(.*)/ "\1",/' \
-e '$s/,$//' \
-e '$a\ ]' \
-e '$a\}'
Esta calsalida se canaliza a gnu- sed(llamado gseden macOS instalado a través de brew.sh ) con RegEx extendido ( -E) y 6 "scripts" aplicados ( -e) y los saltos de línea se escapan \para facilitar la lectura. Las secuencias de comandos 1 y 2 se utilizan 1i\para "en la línea 1, insertar". Las secuencias de comandos 5 y 6 se usan $a\para "en la línea <última>, anexar". Alineé verticalmente las salidas de texto para hacer que el código represente lo que se espera en el resultado. Las secuencias de comandos 3 y 4 hacen sustituciones (la última se aplica solo a "línea <última>"). El resultado es convertir la salida del comando a JSON válido.
{
"lines": [
" October 2019 ",
"Su Mo Tu We Th Fr Sa ",
" 1 2 3 4 5 ",
" 6 7 8 9 10 11 12 ",
"13 14 15 16 17 18 19 ",
"20 21 22 23 24 25 26 ",
"27 28 29 30 31 ",
" "
]
}
{ cat file; echo 'END OF FILE'; } > newFile, esto también funciona gracias a sh. *. (no sed, pero funciona y simple)