小编Set*_*eth的帖子

使用 sed 干净地交换两个字符串的所有出现

假设我有一个文件,其中包含多次出现的 StringA 和 StringB。我想用 StringB 替换所有出现的 StringA,并且(同时)用 StringA 替换所有出现的 StringB。

现在,我正在做类似的事情

cat file.txt | sed 's/StringB/StringC/g' | sed 's/StringA/StringB/g' | sed 's/StringC/StringA/g'
Run Code Online (Sandbox Code Playgroud)

这种方法的问题在于它假定文件中没有出现 StringC。虽然这在实践中不是问题,但这个解决方案仍然让人感觉很脏——也就是说,它感觉像是一个学习更多 Unix 魔法的机会。:)

sed

15
推荐指数
2
解决办法
1万
查看次数

标签 统计

sed ×1