删除bash中每行的最后一个单词

Mic*_*auh 6 regex bash sed

我正在尝试浏览文件,并删除每行中的最后一个单词.目前,我正在使用该命令

sed 's/^*\n//' old.txt > new.txt
Run Code Online (Sandbox Code Playgroud)

但它的出现是old.txt与new.txt相同.感谢您的帮助,如果我能澄清这个问题,请告诉我.另外,为了定义'word',我只是使用空格.

Dav*_* Z. 11

请尝试以下方法.\w*匹配文件内的最后一个单词,并将$搜索锚定到该行的末尾.

sed s/'\w*$'// old.txt > new.txt
Run Code Online (Sandbox Code Playgroud)

old.txt作为new.txt出现的原因很可能是因为你的正则表达式^*\n与old.txt中的任何行都不匹配.