Bash-在文件中查找连续的管道并删除多余的管道

我有一个带有管道作为分隔符的txt文件。当有9个连续的管道,而我应该只有8个时,我想删除一个多余的管道。 我正在使用婴儿脚本。只是想通过使用正则表达式使其替换那些重复的管道变得更加专业。

脚本:

sed 's/|||||||||*/||||||||/g' file_1.txt > file_1_new.txt
yanhong123456 回答:Bash-在文件中查找连续的管道并删除多余的管道

假设文件的一行看起来像这样,

a||||||||b||||||||e

然后您可以将其替换为

 sed 's/\(|\{8\}\)|/\1/g' file_1.txt > file1_new.txt

甚至:

sed -ibak 's/\(|\{8\}\)|/\1/g' file_1.txt
本文链接:https://www.f2er.com/3110800.html

大家都在问