Tengo un archivo llamado space.txt. Estoy haciendo la coincidencia de cadenas con ath2. Necesito insertar una cadena "newdata" después de 12 espacios. Probé el siguiente comando, que funciona, pero usé 12 espacios en blanco manuales. ¿Cómo se puede lograr de otra manera?
sed -e "/ath2/a\ newdata" space.txt
Necesito una salida como esta
unix@BDC8-LX-CVZ52X2:~/12space$ cat space
ath1
ath2
newdata
ath3
ath4
ath5
Respuesta1
Puedes usar printf
para generar espacios:
sed -e '/ath2/a\'"$(printf %012s)"'newdata' "space.txt"
Respuesta2
Es esto lo que quieres:
sed "/ath2/a$(printf '\%12s')newdata" space