如何在 shell 脚本中使用 sed 从文件的每一行中删除单词? [复制]
Posted
技术标签:
【中文标题】如何在 shell 脚本中使用 sed 从文件的每一行中删除单词? [复制]【英文标题】:How can I delete words from each line of a file using sed in shell script? [duplicate] 【发布时间】:2017-09-05 20:52:21 【问题描述】:例如我要删除每行的第二个和第四个单词
sample.txt 之前:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nulla elit dui, fermentum sed quam sed, semper auctor elit.
sample.txt 之后:
Lorem dolor amet, consectetur adipiscing elit.
Nulla dui, sed quam sed, semper auctor elit.
【问题讨论】:
我用'cut'解决,但我必须'sed',我不知道如何使用。 【参考方案1】:类似:
sed 's/\(\S\+\s\+\)\S\+\s\+\(\S\+\s\+\)\S\+\s\+\(.*\)/\1\2\3/g'
如果必须使用 sed,应该可以。如果一行中的单词少于 4 个,则此脚本不起作用。
【讨论】:
谢谢,这就是我要找的。我可以用“cut”解决,但不幸的是我必须使用“sed”。【参考方案2】:你可以用“cut”来做到这一点
cut -d ' ' -f1,3,5- MY_FILE
-d
将分隔符设置为空格,-f
选择字段 1、3 和 5+。
【讨论】:
我必须使用“sed”,但无论如何,谢谢,这很好用。以上是关于如何在 shell 脚本中使用 sed 从文件的每一行中删除单词? [复制]的主要内容,如果未能解决你的问题,请参考以下文章