我有两个不同的文件:
文件1
/home/user1/
/home/user2/bin
/home/user1/a/b/c
文件2
<TEXT1>
<TEXT2>
我想替换<TEXT1>
的文件2与内容文件1使用sed
。我尝试了此命令,但没有得到正确的输出:
cat File2|sed "s/<TEXT1>/$(cat File1|sed 's/\//\\\//g'|sed 's/$/\\n/g'|tr -d "\n")/g"
您也可以使用其他工具来解决此问题。
抱歉,没有收到错误消息。我没有得到想要的输出。输出就像
—
chanchal1987 2011年
/home/user1/ n/home/user2/bin n/home/user1/a/b/cn <TEXT2>
。没有换新线。
不知道这是否适用于您的特定情况,但是使用
—
斯蒂芬·吉梅内斯
diff
和patch
工具可以很容易地用其他行替换文件中的某些行。
顺便说一句,使用
—
斯蒂芬·吉梅内斯
$()
sed脚本中收集的随机数据会使我流血。切勿在某些字符具有特殊含义的地方使用外部数据。
相似的问题:用文件中的另一个文件的内容替换模式
—
Toby Speight
sed
您使用的是哪种实现。您的代码适用于GNUsed
。