首页 > 系统相关 >Linux三剑客:grep、sed和awk

Linux三剑客:grep、sed和awk

时间:2023-10-10 15:24:03浏览次数:49  
标签:grep 指定 sed awk file txt 三剑客

运维必须会的linux三剑客,被称为linux利器。(建议收藏,运维面试100%会涉及)

原创 小小IT仔 IT仔的笔记本 2023-08-28 17:51 发表于云南 收录于合集 #linux11个 #运维11个 #利器1个

Linux三剑客:grep、sed和awk

图片

Linux提供了许多命令行工具来帮助我们处理和分析文本数据。其中最著名的三个工具就是grep、sed和awk。它们被称为Linux三剑客,因为它们在处理文本数据时非常强大和灵活。

我们先看看,几个关于linux运维的面试题,你就知道重要性。

图片


  我们开始介绍用法:

grep—搜索指定的内容

grep命令用于在文本文件中搜索指定的内容,并返回匹配的行。以下是grep命令的10个用法举例:

  1. 搜索包含指定关键词的行:grep "keyword" file.txt
  2. 搜索不区分大小写的关键词:grep -i "keyword" file.txt
  3. 反向搜索,返回不包含指定关键词的行:grep -v "keyword" file.txt
  4. 统计匹配行的数量:grep -c "keyword" file.txt
  5. 显示匹配行之前的内容:grep -B 2 "keyword" file.txt
  6. 显示匹配行之后的内容:grep -A 2 "keyword" file.txt
  7. 显示匹配行及其上下文的内容:grep -C 2 "keyword" file.txt
  8. 仅显示匹配的关键词:grep -o "keyword" file.txt
  9. 递归搜索目录及其子目录下的文件:grep -r "keyword" directory
  10. 使用正则表达式进行高级搜索:grep -E "pattern" file.txt

sed—流式编辑

sed命令用于对文本进行流式编辑,可以进行替换、删除、插入等操作。以下是sed命令的10个用法举例:

  1. 替换文本中的指定字符串:sed 's/old/new/' file.txt
  2. 替换文本中的所有匹配字符串:sed 's/old/new/g' file.txt
  3. 删除匹配指定模式的行:sed '/pattern/d' file.txt
  4. 删除空白行:sed '/^$/d' file.txt
  5. 在匹配行之前插入新行:sed '/pattern/i new line' file.txt
  6. 在匹配行之后插入新行:sed '/pattern/a new line' file.txt
  7. 仅打印匹配的行:sed -n '/pattern/p' file.txt
  8. 仅打印指定行范围内的内容:sed -n '2,5p' file.txt
  9. 将文本中的所有字母转为大写:sed 's/[a-z]/\U&/g' file.txt
  10. 将文本中的所有字母转为小写:sed 's/[A-Z]/\L&/g' file.txt

awk—文本处理

awk命令是一种强大的文本处理工具,可以根据指定的规则从文本中提取信息并进行处理。以下是awk命令的10个用法举例:

  1. 打印指定列的内容:awk '{print $1}' file.txt
  2. 根据指定的分隔符切割文本并打印指定列:awk -F',' '{print $2}' file.txt
  3. 根据指定条件筛选行并打印:awk '/pattern/{print}' file.txt
  4. 计算指定列的总和:awk '{sum += $1} END {print sum}' file.txt
  5. 根据指定条件进行行和列的求和:awk '{rowsum+=$1; colsum+=$2} END {print rowsum, colsum}' file.txt
  6. 根据指定条件进行行的分组并计数:awk '{count[$1]++} END {for (item in count) print item, count[item]}' file.txt
  7. 根据指定条件进行行的分组并求平均值:awk '{sum[$1]+=$2; count[$1]++} END {for (item in sum) print item, sum[item]/count[item]}' file.txt
  8. 格式化输出:awk '{printf "%-10s %-5d\n", $1, $2}' file.txt
  9. 自定义变量并进行计算:awk 'BEGIN {x=5; y=10; print x+y}'
  10. 执行自定义函数:awk 'function myfunc(x) {return x*2} {print myfunc($1)}' file.txt

以上是Linux三剑客(grep、sed和awk)的介绍以及每个命令的10个用法举例。它们在文本处理和分析中非常实用,希望对你有所帮助!

如果你对其他Linux命令或者更多用法感兴趣,可以在留言,下期为你提供更多相关内容。

 

作者寄语

  • 关注、点赞、收藏、转发、看一看
  • 持续分享各类开源的好项目,有任何问题留言探讨。 IT仔的笔记本 生活笔记本 140篇原创内容 公众号

图片图片

 

 

小小IT仔

赞赏二维码喜欢作者

收录于合集 #linux  11个 上一篇linux运维装逼神器,你值得拥有,非常有趣的命令。(转发起来!!!)下一篇linux一键安装Oracle java JDK脚本,方便你我他。(建议转发+收藏)   阅读 5762 IT仔的笔记本   ​ 收藏此内容的人还喜欢   福利来啦,一键部署:轻松掌握Docker及Docker-Compose的安装方法[请大家收藏、点赞]     IT仔的笔记本 不看的原因   Linux基本认识     阅读1万+ 序辑 不看的原因   【迎难学字】Linux多线程编程高级知识122则     迎难学字 不看的原因     关注后可发消息         复制搜一搜分享收藏划线    

人划线

标签:grep,指定,sed,awk,file,txt,三剑客
From: https://www.cnblogs.com/cherishthepresent/p/17754756.html

相关文章

  • Codeforces Round 902 (Div. 2, based on COMPFEST 15 - Final Round)
    目录写在前面ABCDE写在最后写在前面比赛地址:https://codeforces.com/contest/1877。呜呜铃果唱歌太好听了、、、我宣布是第二喜欢的声线,第三喜欢是东北切蒲英,第一喜欢绝赞招募中。这下不得不成为数码推了、、、A答案为\(-\suma_i\)。懒得写代数式子推了,赛时看完题直接......
  • awk 依据几列的值删除重复行
    依据几列的值删除重复行输入1.txta11a12ab3ac4ac5ac6ad7ad8ae9af10af11输出2.txtab3ae9先把1.txt按照指定的几列(第1,2列)排序sort-k1,1-k2,21.txt>3.txtawk'{last=$0;chr=$1;start=$2;getline;if(chr==$1&&start==$2){printlas......
  • shell_脚本开发_数值运算_bc_awk
    bc命令bc命令是当作计算器的来用的,并且当作命令行来的,一般结合管道符使用(相当于echo把字符打印出来传递给bc处理)[root@localhosttmp]#bc###直接输入bc可开启一个计算器的功能bc1.06.95Copyright1991-1994,1997,1998,2000,2004,2006FreeSoftwareFoundation,Inc.......
  • Implicit Autoencoder for Point-Cloud Self-Supervised Representation Learning论文
    ImplicitAutoencoderforPoint-CloudSelf-SupervisedRepresentationLearning2023ICCV*SimingYan,ZhenpeiYang,HaoxiangLi,ChenSong,LiGuan,HaoKang,GangHua,QixingHuang*;ProceedingsoftheIEEE/CVFInternationalConferenceonComputerVision......
  • 音视频处理三剑客之 AEC:回声产生原因及回声消除原理
     在上一期课程《音视频开发者进阶——音频要素》中,我们从声音三要素、音频模拟信号的数字化和音频数字信号特征等方面,重新认识了“声音”这个老朋友。今天,我们会进一步聊聊这个老朋友在RTC世界中的其他故事。磨刀不误砍柴工,在主题开始之前,我们先来了解一下RTC场景中音视频数......
  • 音视频处理三剑客之 AEC:回声产生原因及回声消除原理
      在上一期课程《音视频开发者进阶——音频要素》中,我们从声音三要素、音频模拟信号的数字化和音频数字信号特征等方面,重新认识了“声音”这个老朋友。今天,我们会进一步聊聊这个老朋友在RTC世界中的其他故事。磨刀不误砍柴工,在主题开始之前,我们先来了解一下RTC场景中音......
  • Listener refused the connection with the following error: ORA-12514
    1.问题在使用OracleSQLDeveloper时,遇到以下问题:状态:失败-测试失败:Listenerrefusedtheconnectionwiththefollowingerror:ORA-12514,TNS:listenerdoesnotcurrentlyknowofservicerequestedinconnectdescriptor(CONNECTION_ID=w++gsIkwQB+f4YlRCo9RvQ==)......
  • Direct Component/SEDA Component/VM Component/Timer Component/Log Component/Cache
    http://camel.apache.org/direct.htmlDirectComponentThedirect:componentprovidesdirect,synchronousinvocationofanyconsumerswhenaproducersendsamessageexchange.Thisendpointcanbeusedtoconnectexistingroutesinthesamecamelcontext.Asy......
  • (2023年新疆大学、中科院等点云分类最新综述) Deep learning-based 3D point cloud cl
    目录1、引言2、3D数据2.1、3D数据表示形式2.2、点云数据存储格式2.3、3D点云公共数据集3、基于深度学习的点云分类方法3.1、基于多视角的方法3.2、基于体素的方法3.3、基于点云的方法3.3.1局部特征聚合3.3.1.1基于逐点处理的方法3.3.1.2基于卷积的方法3.3.1.3基于图的方法3.3.1......
  • Codeforces Round 902 (Div. 2, based on COMPFEST 15 - Final Round)
    Preface难得这么好时间的CF,我直接找来队友组队练题当然比赛的过程没有三人三机,就跟平时训练一样搞了个新号三人一机的写中间因为溜去先看F了导致E题留给徐神solo因此出的偏慢,不过后面一起讨论了一下还是出了最后开F结果好家伙我和祁神双双看错题,对着假题意苦战1h最后无奈投降,......