Eu tenho um arquivo chamado space.txt. Estou fazendo a correspondência de strings com ath2. Preciso inserir uma string “newdata” após 12 espaços. Tentei o comando abaixo, que funciona, mas usei 12 espaços em branco manuais. Como isso pode ser alcançado de outra maneira?
sed -e "/ath2/a\ newdata" space.txt
Eu preciso de uma saída como esta
unix@BDC8-LX-CVZ52X2:~/12space$ cat space
ath1
ath2
newdata
ath3
ath4
ath5
Responder1
Você pode usar printf
para gerar espaços:
sed -e '/ath2/a\'"$(printf %012s)"'newdata' "space.txt"
Responder2
É isso que voce quer:
sed "/ath2/a$(printf '\%12s')newdata" space