个性化阅读
专注于IT技术分析

Linux sed过滤器

本文概述

命令” sed”代表流编辑器。你可以使用此命令来使用正则表达式编辑流(文件)。但是这种编辑不是永久的。它仅保留在显示中, 但实际上, 文件内容保持不变。

句法:

command | sed 's/<oldWord>/<newWord>/'

例:

echo class7 | sed 's/class/jtp/'
echo class7 | sed 's/7/10/'
 cat msg.txt | sed 's/learn/study/'
Linux sed过滤器1

查看上面的快照, 首先我们在字符串” class7″上执行了” sed”命令, 其中” class”被更改为” jtp”, 而7变成了10。然后我们在流” msg.txt”上执行了” sed”命令。 ‘, 其中”学习”转换为”学习”。


全局替代

在较早的示例中, 所有”学习”词均未编辑为”研究”。要编辑每个单词, 我们必须使用全局替换” g”。它将编辑文件或字符串中的所有指定单词。

句法:

command | sed 's/<oldWord>/<newWord>/g'

例:

echo class7 class9 | sed 's/class/jtp/g'
cat msg.txt | sed 's/learn/study/g'
Linux sed过滤器2

查看上面的快照, 使用命令” echo class7 class9 | sed’s / class / jtp / g'”将所有” class”转换为” jtp”, 并使用命令” cat msg.txt | sed’s / learn /学习/ g””, 所有的”学习”都转换为”学习”。


删除一行

‘d’选项可让你从文件中删除整行。你只需要使用’d’选项从该行中指定一个单词, 该行将被删除。但是请注意, 所有具有相同单词的行将被删除。

句法:

cat <fileName> | sed '/<Word>/d'

例:

cat msg.txt | sed '/jtp/d'
Linux sed过滤器3

查看上面的快照, 使用命令” cat msg.txt | sed’/ jtp / d'”删除所有包含单词” jtp”的行。

赞(0)
未经允许不得转载:srcmini » Linux sed过滤器

评论 抢沙发

评论前必须登录!