【发布时间】:2013-05-17 00:18:41
【问题描述】:
我想用单词替换文件中所有出现的某些字符。我的问题是,我可以使用单个命令对所有字符执行此操作吗?我正在使用以下命令将每次出现的 'a' 替换为 'apples'
sed 's/a/apple/g' sample.txt
我不想编写 3 或 4 个类似的命令来用一些单词替换每次出现的 'b'、'c'、'd'。有什么办法可以扩展上述命令以满足我的需要,还是我需要使用相同的 3 次?
【问题讨论】:
-
在替换
e字符时要小心,因为它也会影响apple中的e。您可能需要研究 sed 的正则表达式功能,尤其是“单词边界”字符。 -
@Intermernet 在这种情况下你建议我做什么?我还注意到,使用我提到的命令,我在终端中得到了一个替换的输出,但文件内容没有被修改。
-
查看
sed -i。它应该允许就地修改,但有时很危险!先复制文件!
标签: linux shell unix ubuntu command-line