Este sed
el comando agregará 123
hasta el final de la primera línea de su archivo.
sed ' 1 s/.*/&123/' yourfile.txt
también
sed '1 s/$/ 123/' yourfile.txt
Para agregar el resultado al mismo archivo, debe usar -i
cambiar:
sed -i ' 1 s/.*/&123/' yourfile.txt
Esta es una solución para agregar "ok" en la primera línea en /etc/passwd
, creo que puede usar esto en su secuencia de comandos con un poco de 'ajuste':
$ awk 'NR==1{printf "%s %s\n", $0, "ok"}' /etc/passwd
root:x:0:0:root:/root:/bin/bash ok
Para editar un archivo, puede usar ed
, el editor estándar:
line=' bcm2708.w1_gpio_pin=20'
file=/boot/cmdline.txt
if ! grep -q -x -F -e "$line" <"$file"; then
ed -s "$file" < <(printf '%s\n' 1 a "$line" . 1,2j w q)
fi
ed
Comandos:
1
:ir a la línea 1a
:agregar (esto se insertará después de la línea actual)- Estamos en modo de inserción y estamos insertando la expansión de
$line
.
:detener el modo de inserción1,2j
unir las líneas 1 y 2w
:escribirq
:salir