linux中sed命令删除单词
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中sed命令删除单词相关的知识,希望对你有一定的参考价值。
linux中用sed命令删除每行的第一个单词、最后一个单词怎么做,急等!!!
参考技术A #cat aone two three four five six seven eight nine ten
#sed -nr 's/([a-Z]+) (.*) ([a-Z]+)/\2/p' a
two three four five six seven eight nine
别人写的:sed -r 's/(\w+ )//;T;s/ +\w+$//g' 参考技术B 你每一行的格式是否一样 如分隔符 分成多少列 如果一样的话 可以做的 参考技术C sed -e 's/^.*[ \t]//g' -e 's/[ \t].*$//g' filename 参考技术D sed 's/\w\+ \(.*\) \w\+/\1/g' filename 第5个回答 2012-03-30 1213
如何在 shell 脚本中使用 sed 从文件的每一行中删除单词? [复制]
【中文标题】如何在 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”,但无论如何,谢谢,这很好用。以上是关于linux中sed命令删除单词的主要内容,如果未能解决你的问题,请参考以下文章