我有一个名为 space.txt 的文件。我正在使用 ath2 进行字符串匹配。我需要在 12 个空格后插入一个字符串“newdata”。我尝试了下面的命令,它有效,但手动删除了 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