【发布时间】:2011-10-11 01:30:26
【问题描述】:
什么是 mac shell 脚本的 sed 命令,它将用 myFile.txt 的整个字符串内容替换字符串“fox”的所有迭代。
myFile.txt 将是带有换行符和各种字符的 html 内容。一个例子是
</div>
</div>
<br>
<div id="container2">
<div class="question" onclick="javascript:show('answer2')";>
谢谢!
编辑 1
这是我的实际代码:
sed -i.bkp '/Q/{
s/Q//g
r /Users/ericbrotto/Desktop/question.txt
}' $file
当我运行它时,我得到:
sed in place editing only works for regular files.
在我的文件中,Q 被大量汉字(!)替换。奇怪!
【问题讨论】:
-
见stackoverflow.com/questions/6684487/…。这将是一种解决方案。祝你好运。
-
关于编辑 1... 您可以使用扩展名为
.bkp的原始文件。您的question.txt文件的内容是什么?另外,$file引用的文件的内容是什么。有二进制文件吗?它们的编码是什么? -
question.txt文件的内容就是上面显示的html。 $file 引用的文件是 .txt 文件。我的 .bkp 部分有问题吗?我应该将其更改为 .txt 吗?我现在将检查我的 question.txt 文件的编码。
-
您的
-i.bkp标志没有问题。 sed 消息让我怀疑它是输入文件真正的文本文件,这是一个编码问题。 可能您正在迭代某些文件,而某些二进制文件只是意外地出现在列表中。无论如何,我会期待更多关于这个问题的意见:)
标签: bash unix shell sed terminal