У меня есть файл с именем space.txt. Я делаю сопоставление строк с помощью ath2. Мне нужно вставить строку "newdata" после 12 пробелов. Я попробовал команду ниже, она работает, но использовал ручные белые 12 пробелов. Как этого можно добиться другим способом?
sed -e "/ath2/a\ newdata" space.txt
Мне нужен такой вывод
unix@BDC8-LX-CVZ52X2:~/12space$ cat space
ath1
ath2
newdata
ath3
ath4
ath5
решение1
printf
Для генерации пробелов можно использовать :
sed -e '/ath2/a\'"$(printf %012s)"'newdata' "space.txt"
решение2
Это то, чего ты хочешь:
sed "/ath2/a$(printf '\%12s')newdata" space