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,2junir las líneas 1 y 2w:escribirq:salir