我一直在努力寻找如何在Mac OS X上的终端中进行批量查找和替换的时间超过过去一小时。我发现了不同版本的代码,但是很难让它工作。到目前为止,我发现了一串有效的代码,但它只适用于一个术语/字符。
我想要做的是在一个文本文件中同时查找和替换多个字符。
例如:
查找§,替换为ก
查找Ø,替换为ด
发现≠, 替换为ห
查找£,替换为้
到目前为止工作的代码是(但仅限于一个字符):
sed -i '' s/Ø/ด/ [textfile.txt]
有人可以帮帮我吗?
答案 0 :(得分:0)
您的使用模式非常普遍,您可以使用它的特定实用程序,即tr
tr abc ABC < input.txt > output.txt
您使用两个字符串(此处为abc
和ABC
)来指示您需要的替换tr
(此处,a
替换为A
, b
与B
等。{/ p>
使用sed
,在tr
的使用方面更为通用,以搜索和替换每一行中的第一个匹配项
sed 's/src1/rep1/' < in > out
搜索并替换您在g
命令中添加s
开关的每一行中的每一个匹配项
sed 's/src1/rep1/g' < in > out
最终要做多次搜索并替换你必须用分号分隔s
命令
sed 's/src1/rep1/g;s/src2/rep2/;s/src3/rep3/g' < in > out
请注意,在上面的示例中,我使用g
开关(逐行全局替换)进行第1和第3次查找和替换,而不是第2次...您的使用可能会有所不同,但我希望你发现这种模式,不是吗?