附加行Bash文件

时间:2016-11-10 09:48:13

标签: bash sed

bash中的一个班轮(例如使用sed)在文件的最后一行之前附加一行。

实施例

旧文件

foo bar
foo bar
foo bar
foo bar

新文件

foo bar
foo bar
foo bar
--new foo bar
foo bar

我在OSX上尝试了sed

sed '$ i --new foo bar' file.sh

我收到此错误command i expects \ followed by text。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

虽然某些版本的sed(例如GNU sed)在与要插入的文本相同的行上支持SQL命令,但POSIX standard指定了这样的用法:

i

也就是说,sed '$i\ --new foo bar' file.sh 之后是反斜杠和换行符,然后是要插入的文本。

答案 1 :(得分:1)

-e之后缺少反斜杠和换行符或新的i表达式:

sed -e '$i\' -e '--new foo bar'