Linux日常小技巧文本处理三剑客awksedgrep
在日常工作中我们经常在Linux使用中遇到文本处理,这就要用到我们的文本处理三剑客awk、sed、grep是三个在Linux环境下经常使用的命令,主要用于处理和操作文本文件。还可以通过终端命令行或shell脚本调用,并且可以很容易地组合起来使用。
三者功能简单介绍如下:grep:用于匹配某个模式的文本行,可以同时对多个文件进行搜索,并支持多种匹配模式。sed:用于编辑匹配某个模式的文本行,可以进行删除、替换、插入等文本操作。awk:用于格式化文本文件以及进行复杂的文本处理,最擅长的是取列操作,可以按照指定的分隔符将一行文本拆分成多个字段并进一步处理。
1。使用grep命令查找文件中包含HelloWorld的行grepHelloWorldtext。txt2。grep命令查找文件中所有不包含hello字符串的行,将结果输出到新文件中grepvhellofile。txttextfile。txt3使用grep查找多个关键字grepE(pattern1pattern2)file。txt4。sed命令将文件中所有的hello字符串替换成worldsedshelloworldgtext。txt5。sed命令给文件的每一行首部加上数字sedfile。txtsedN;stextfile。txt6。sed删除文件中匹配特定模式的行sedpatterndfile。txt7。sed命令合并两行到一行,并删除其中的空格sedN;s;sgtext。txt8。使用awk计算文件中的平均数awk{sum1}END{printsumNR}text。txt9。使用awk将文件内容反转awk{for(iNF;i1;i)printf(s,i);printf()}text。txt10。awk命令处理CSV文件awkF,{print1,4}file。csv11使用awk命令打印文件的第一列awk{print1}file。txt12。awk命令计算文件中第二列的总和awk{sum2}END{printsum}file。txt13。使用grep和awk找出某个文件中以error开头的行,并统计其中出现次数最多的单词greperrordatetofileawk{for(i1;iNF;i)counts〔i〕}END{for(wordincounts)printword,counts〔word〕}sortrnk2headn114。备份当前目录下所有。txt文件,并在备份完成后删除原始文件ls。txtxargsI{}shccp{}{}。bakrm{}15。列出某个进程的PID和内存占用情况psauxgrepjavaawk{print2,4}16。修改某个配置文件中特定的行和列sediN;soldvaluetextvaluedatetoconfigfile17。统计某个目录下所有文件的大小并按从大到小排序输出duadatetotextsortrnawk{print2,1}18。列出某个进程占用的CPU和内存资源psppidocpu,mem,cmd19。查找并删除日志文件最后一行sedidlogfile。log20。查找并删除某个目录下所有空文件finddatetotexttypefemptydelete
整理不易,欢迎大家点赞收藏转发,关注我每天分析运维小知识。