在 bash 中使用 sed 删除文件中以 "_" 开头的单词



给定:

this is a_REMOVEME test_REMOVEME for the win

我想得到:

this is a test for the win  

我目前拥有的似乎并没有起到什么作用,因为它只删除了_:

sed -e 's/_w*//g' myfile.txt
默认情况下,您的sed版本可能无法理解

w。尝试[A-Za-z0-9][^ ]来匹配任何非空格字符,而不是w。您可能还想尝试sed -re来启用扩展regexp支持。

尝试这个

sed -ie 's/_[A-Za-z0-9]* / /g' here.txt

如果您使用命令行perl完成了这项工作,那就很有趣了。。。它会起作用:

$ echo "this is a_REMOVEME test_REMOVEME for the win" | perl -pe 's/_w*//g'
this is a test for the win

相关内容

  • 没有找到相关文章

最新更新