我在開始處有一行空格,例如「Hello world」。 我想將此行插入文件中的特定行。 例如 插入的 「Hello World」 到下一個文件sed將空格插入特定行
hello
world
結果:
hello
hello world
world
我用這sed腳本:
sed -i "${line} i ${text}" $file
的問題是,我得到我的新生產線與空間:
hello
hello world
world
我在開始處有一行空格,例如「Hello world」。 我想將此行插入文件中的特定行。 例如 插入的 「Hello World」 到下一個文件sed將空格插入特定行
hello
world
結果:
hello
hello world
world
我用這sed腳本:
sed -i "${line} i ${text}" $file
的問題是,我得到我的新生產線與空間:
hello
hello world
world
可以逃脫space
字符,例如增加2位:
sed -i "${line} i \ \ ${text}" $file
或者你可以在你的text
變量的定義做:
text="\ \ hello world"
$ a=" some string "
$ echo -e "hello\nworld"
hello
world
$ echo -e "hello\nworld" | sed "/world/ s/.*/${a}.\n&/"
hello
some string .
world
的.
是在上面的替換中添加以表明尾隨白色面被保留。改爲使用sed "/world/ s/.*/${a}\n&/"
。
你只需要一個\
輸入多個空格 這樣
sed -i "${line} i \ ${text}" $file
你只逃脫第一空間。 Sed似乎自動識別其餘的空間。例如,'a \ text'在前面添加4個空格的文本。 – haridsv
謝謝!這種優雅的解決方案! – ShahNewazKhan