【发布时间】:2016-07-03 16:46:03
【问题描述】:
我有一个包含很多下划线的文件,我必须用空字符串替换所有下划线,但属于特定字符串 usr_mstr 的部分除外。 我试过 sed 命令,它替换了下划线并排除了我提供的单词,但它也替换了紧跟在下划线后面的字符!任何帮助将不胜感激..
echo "fname_sname_id_usr_mstr" | sed 's/_[^usr_mstr]//g'
预期输出:
fnamesnameidusr_mstr
实际输出:
fnamenamedusr_mstr
(s 和 i 被替换)
【问题讨论】:
-
不管怎样,您的脚本根本无法在 Mac OS 上运行。它产生
fname_snamed_usr_mstr。 -
正在使用 bash shell.... 感谢您的回复