当前位置: 首页 > Linux

Linux系统命令三剑客命令实战操作

时间:2023-04-06 01:53:15 Linux

我之前写过三剑客命令的详细介绍:Linux三剑客Awk、Sed、Grep命令详解grep实例介绍grep"San"testfile#filterthelineswithSangrep'^J'testfile#显示以J开头的行grep'70$'testfile#显示以70结尾的行grep-v"834"testfile#显示除834以外的所有行grep':12/'testfile#显示:12/行grep':498-'testfile#Display:498-linesgrep'[A-Z][a-z]{4}:[[:space:]][A-Z]'testfile#显示这样的行,一个大写字母+四个小写字母+空格+一个大写字母grep'[a-z]{1,}[[:space:]][Kk]'testfile#显示包含Kk的行grep-n'[0-9]{6,}$'testfile#显示linewith6digits,andprintthelinenumbergrep-i"lincoln"testfile#显示有lincoln的行,不区分大小写sed实例介绍sed's/Jon/Jonathan/g'testfile#全局替换(将Jon替换为Jonathan)sed'1,3d'testfile#deletefile1-3linessed-n'5,10p'testfile#printfile5-10linessed'/Lane/d'testfile#deletepackagecontaininglaneLinesed-ne'/[1-9]{5}:1[12]/p'testfile#打印由5个数字组成的行+:11/12sed's/^Fred/***&/'testfile#Add***sed-e's/.*Jose.*/JOSEHASRETIRE/g'testfilebeforethelinebeforefromFred#ReplacethelinecontainingJosewithJOSEHASRETIREsed-n'/^Popeye/p'testfile|sed's/[0-9]{1,}/[0-9]{1,}/[0-9]{1,}/11/14/46/'#会以Popeye开头的行打印,然后是数字串将"number/number/number"格式替换为11/14/46##pattern{n}输出匹配的pattern现在n次##pattern{n,}匹配的模式至少出现n次。##pattern{n,m}匹配模式出现n到m次,n,m为0到2的任意整数55sed'/^$/d'testfile#删除所有空行sed's/.$//g'#删除以.结尾的行。sed's/^[][]*//g'#删除行首的空格sed's//.[][]*/[]/g'#删除句号后面的两个或多个空格,使用空格代替sed's/^.//g'#删除第一个字符sed's/COL/(.../)//g'#删除紧随COL的最后三个字符sed's/^////g'#deletethefirst/sed-ninthepath'3,/245700/'ptestfile#query从第三行到245700结尾打印sed-n'2,26!'ptestfile#打印文件的行(2-26除外)awk示例介绍awk–F:'{print$2}'datafile#打印第二列,分隔符:awk–F:'/^Dan/{print$2}'datafile#Separatedby:打印以Dan开头的行的第二列内容awk–F:'/^[CE]/{print$1}'datafile#打印以C或E开头的行的第一列awk–F:'{if(length($1)==4)print$1}'datafile#打印第一列的内容,用:分隔,长度为4个字符awk–F:'/[916]/{print$1}'datafile#匹配916的行分隔:打印第一列awk-F:'/^Vinh/{print"a"$5}'2.txt#显示Dan开头的行,在第五列前加上aawk-F:'{print$2","$1}'datafile#打印第二列第一列并用,awk-F:'($5==68900){print$1}'2.txt#打印第五列separatedby:列为68900的第一列awk-F:'{if(length($1)==11)print$1}'2.txt#打印第一列的内容,separatedby:andlengthis4charactersawk-F:'$1~/TommySavage/{print$5}'2.txtawk-F:'($1=="TommySavage"){print$5}'2.txt#Printseparatedby:和第一个一栏是TommySavagell的第五栏内容|awk'BEGIN{size=0;}{size=size+$5;}END{print"[end]sizeis",size}'#统计文件中所有字符目录下的节数awk'BEGIN{size=0;}{size=size+$5;}END{print"[end]sizeis",size/1024/1024,"M"}'#显示目录下的所有inM字节数awk'BEGIN{a=10;a+=10;printa}'20#a+10等价于a=a+10echo|awk'BEGIN{a="100testaaa"}a~/test/{print"ok"}'#正则匹配a是否有测试字符,成立printohawk'BEGIN{a="b";printa=="b"?"ok":"err"}'okawk'BEGIN{a="b"b";printa=="c"?"ok":"err"}'err#ternaryoperator?:awk'/root/{print$0}'passwd#匹配所有包含root的行awk-F:'$5~/root/{print$0}'passwd#使用分号作为分隔符来匹配第五个字段为root的行ifconfigeth0|awk'BEGIN{FS="[[:space:]:]+"}NR==2{print$4}'#打印IP地址awk'{printtoupper($0)}'test.txt#toupper是awk的内置函数,将所有小写字母转换为大写

最新推荐
猜你喜欢