为什么我的sed {r FILE d}功能不起作用?

时间:2012-08-03 16:11:58

标签: macos sed

我不能说我理解错误信息。

bash_prompt% sed -e '/__SUBSTITUTE_HERE__/ {r tmp.txt d}' < myFile.txt 
sed: 2: "/__SUBSTITUTE_HERE__/ { ...": unexpected EOF (pending }'s)

我正在使用OSX 10.7.4(Darwin内核版本11.4.0)

目标是将一个文件中的令牌替换为bash脚本中其他文件的内容。

2 个答案:

答案 0 :(得分:3)

sed -e '/__SUBSTITUTE_HERE__/ {r tmp.txt' -e 'd;}' < myFile.txt

请参阅http://www.linuxtopia.org/online_books/linux_tool_guides/the_sed_faq/sedfaq5_008.html

答案 1 :(得分:2)

您应该在sed中按;或换行符分隔命令,而不是用空格分隔。但r命令似乎只要求文件名后面的换行符。

sed -e '/__SUBSTITUTE_HERE__/ {r tmp.txt
d}' < myFile.txt