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
。有什么想法吗?
答案 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'