Linux中的文本三剑客

来源:面包芯语

2023-05-06 17:21:14

今天给大家聊一聊Linux中文本操作的三剑客:awk、grep、sed,因其功能强大、使用频繁,且是Linux下文本处理的得力利器,常被称之为文本三剑客grep常用于查找,sed常用于取行和替换,而awk常用于运算。


(资料图片)

有句玩笑话常说:做Linux技术不识三剑客,玩遍Linux也枉然,虽然是玩笑语,但也不得不说他们的重要性。

为什么聊起这个话题呢?

示例:

正则表达式

正则表达式应用广泛,在绝大多数的编程语言都可以应用,在Linux中,也有着很大的用处。使用正则表达式,可以有效的筛选出需要的文本,然后结合相应的支持的工具或语言,完成我们的需求。

格式

我们可以根据grep命令任意组合正则表达式

2、sed命令

主要用来自动编辑一个或多个文件, 简化对文件的反复操作

sed是一种流编辑器,一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容输出。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出或-i。

格式:sed [options] "command" file(s)常用参数:

示例:

sed"="test.txt#显示行号sed"3="test.txt#显示第三行行号sed"/./="test.txt#只显示非空白行的行号sed-n"/./!="test.txt#只显示空白行行号sed"$="test.txt#显示总共有多少行sed-n"2p"test.txt#要加-n,否则会默认自动打印所有内容sed-n"2p"test.txt#要加-n,否则会默认自动打印所有内容#输出指定行sed-n"2,7p"test.txtsed-n"2,7p"test.txtsed-n"2,7{p}"test.txt#替换文件中内容sed-i"s/bck/sh/"test.txttest1.txt#替换test.txt、test1.txt内的bck为sh,每行只替换一个sed-i"s/bck/sh/g"test.txt#替换test.txt内的bck为sh,每行都进行全面替换sed-i"s/bck/sh/3g"test.txt#替换test.txt内的bck为sh,从第3个匹配位置开始替换sed-i"s@bck@sh@g"test.txt#替换test.txt内的bck为sh,每行都进行全面替换sed-i"s#bck#sh#g"test.txt#替换test.txt内的bck为sh,每行都进行全面替换#显示查找内容的行sed-n"/sh/p"test.txt#显示test.txt内的所有包含sh的所有行sed-n"/sh/,$p"test.txt#显示test.txt里第一条包含sh的行及以下到末尾的所有行

3、awk命令

awk用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。awk其实不仅仅是工具软件,还是一种编程语言。

格式:awk [options] "program" var=value file…awk [options] -f programfile var=value file…awk [options] "BEGIN{ action;… } pattern{ action;… } END{ action;… }" file ...

常用命令选项

示例:

awk-vFS=":""{print$1,$2}"testawk#FS指定输入分隔符awk-vFS=":"-vOFS="---""{print$1,$2}"testawk#OFS指定输出分隔符awk-vRS=":""{print$1,$2}"testawkawk-vFS=":"-vORS="---""{print$1,$2}"testawkawk-F:"{printNF}"testawkawk-F:"{print$(NF-1)}"testawk#显示倒数第2列

4、小结

上述三个命令的功能及参数远远不止本文提到的这些,在此只是罗列了一些常用的功能及参数。这三个命令的功能非常强大,用法及参数和功能也非常的多,我们没必要刻意去记忆,也不可能全部记住,记住一些常用的参数及用法即可。只要当我们有需求时知道用哪个命令然后对应的去查找相关参数用法即可。

关键词:

Linux中的文本三剑客

今天给大家聊一聊Linux中文本操作的三剑客:awk、grep、sed,因其功能强大、使用频繁,且是Linux下文本处理[详细]
2023-05-06

情侣在巴厘岛身亡 警方排除盗窃行凶是什么情况

情侣在巴厘岛身亡警方排除盗窃行凶今天的热度非常高,现在也是在热搜榜上了,那么具体的情侣在巴厘岛身亡警[详细]
2023-05-06

上海去年信访事项平均办理周期约11天 《信访工作条例》学习宣传月启动-世界热闻

东方网记者薛宁薇5月6日报道:“老刘一开始双手赞同,可等请来了加梯公司具体商量施工方案了,忽然变得‘疙[详细]
2023-05-06

天天热文:嘉兴线上配资,嘉兴股票配资

随着社会越来越发达,大家都选择在网络上汲取相关知识内容,比如嘉兴线上配资,嘉兴股票配资,为了更好的[详细]
2023-05-06

孙宝国:科技创新赋能食品“风味、健康与质量”-世界播报

孙宝国:科技创新赋能食品“风味、健康与质量”[详细]
2023-05-06

网评:让“草根创客”在数字乡村中蓄力成长_世界热头条

网评:让“草根创客”在数字乡村中蓄力成长  来源:光明日报  作者:孙萍  数字中国与乡村振兴的大政[详细]
2023-05-06

广西高速交警三大队强行冲卡涉嫌阻碍民警强行冲卡

近日一男子无证驾驶豪车通过广西一高速公路收费站时不配合警方检查甚至扬言要撞死民警……4月30日下午吴某[详细]
2023-05-06

姨妈期适合炖什么汤? 世界报资讯

在月经期间,因为女性的失血量比较多,可以食用当归乌鸡汤,如果体质比较虚弱偏寒的女性,也可以喝红枣生姜[详细]
2023-05-06

中国大洋钻探船北部码头启用|全球快播报

(记者庞无忌)记者6日从中国自然资源部中国地质调查局获悉,自然资源部中国地质调查局大洋钻探船北部码头揭[详细]
2023-05-06

全球观速讯丨77°米兰专访丨扎根米兰,miform向全球市场提出“中国方案”

77°米兰专访丨扎根米兰,miform向全球市场提出“中国方案” 刚刚落幕的第61届米兰国际家具展上,一批中[详细]
2023-05-06
版权所有: 每日制冷网 All Rights Reserved
浙ICP备2022016517号-15
联系邮箱:5 146 761 13 @qq.com