我想使用此脚本来替换该信件的所有实例问在包含文件“question.txt”内容的文件中。相反,发生的情况是所有的实例问文件中的内容消失,“question.txt”的内容将打印在新文件的底部。
有任何想法吗?
sed -i.bkp '/Q/{
s/Q//g
r /Users/ericbrotto/Desktop/question.txt
}' Commision.txt
编辑1
我试图找出我拥有的版本,但继续得到这个:
答案1
我想我找到了原因。
如果我在文件名后放置一些空格,则会搜索带有尾随空格的文件名。我可以这样重现问题:
资料来源:
cat q.dat
Q
Not q
And Q again
And again not
cat kuh.dat
Die dumme
Kuh
文件名“kuh.dat”的工作示例:
sed '/Q/{
s/Q//g
r kuh.dat
}' q.dat
Die dumme
Kuh
Not q
And again
Die dumme
Kuh
And again not
现在是失败的例子,带有“kuh.dat”。
sed '/Q/{
s/Q//g
r kuh.dat
}' q.dat
Not q
And again
And again not
由于文件名没有被引用,因此文件名末尾的空白被识别出来,这对我来说是一个很大的惊喜。而且在shell中是看不到的,所以我找了半天没有成功,这两个例子的区别在哪里。