目录

一、grep

参数:

1.1 -q 静默

1.2 grep -v   去反​编辑

1.3 grep -R 可以查看目录下面的文件

1.4 grep -o 只找到这个关键字就可以

1.5 egrep -l 只要文件名

1.6 egrep -n 带行号

二、SED

实例:

2.1 删除命令:d

2.2 替换命令: s

2.3 读取文件命令:r

2.4 写入文件命令:w

2.5 追加命令:a

2.6 插入命令:i

2.7 替换整行命令:c

2.8 获取下一行命令:n

2.9 反向选择:!

2.10 多重编辑:e

2.11 实战案例

三、awk

3.1 前言

3.2 工作原理

3.3 语法

3.4 格式化输出 print函数

3.5 模式(正则表达式)和动作

3.6 awk脚本变量

3.6.1 条件&判断

3.6.2 循环

3.6.3 数组

3.7 案例:


一、grep

功能:过滤查找内容

分类: grep

egrep 扩展支持正则

fgrep 就是不支持正则

参数:

1.1 -q 静默

1.2 grep -v   去反

1.3 grep -R 可以查看目录下面的文件

 grep -R /home/
匹配到二进制文件 .cache/mozilla/firefox/ro8zkjdr.default-default/cache2/entries/5773F8741C801CA8FA6328E33D4912694A3E2A8A

1.4 grep -o 只找到这个关键字就可以

[root@localhost ~]# grep -o "o"  1.txt
o
o
o
o
o
o

1.5 egrep -l 只要文件名

[root@localhost ~]# egrep -l 'root' /etc/passwd
/etc/passwd

1.6 egrep -n 带行号

[root@localhost ~]# egrep -n 'root' /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin

二、SED

实例:

2.1 删除命令:d

sed -r '/root/d'   passwd    删除带有root的行sed -r '3d'        passwd    删除第3行sed -r '3{d}'      passwd    删除第3行sed -r '3{d;}'     passwd    {存放sed的多个命令}3{h,d},h暂存空间sed -r '3,$d'      passwd     删除3-最后一行sed -r '$d'        passwd    删除最后一行

2.2 替换命令: s

sed -r    's/root/aofo/'     passwd    把root   替换成aofosed -r    's/^root/aofo/'    passwd    把以root  开头的行root替换成aofosed -r    's/root/aofo/g'    passwd    全部把root替换成aofosed -r    's/[0-9][0-9]$/&.5'    passwd    查找双数,结尾的词组&,替换成.5&有查询结果的含义
sed -r    's/(mail)/E\1/g'    passwd    把全部的词mail  换成Eail()括号组合字符,\1调用括号sed -r    's/#(mail)#E\1/g'   passwd

2.3 读取文件命令:r

2.4 写入文件命令:w

sed -r 'w 111.txt' 1.txt    把1.txt 全部内容写入111.txtsed -r '/root/w    123.txt'    passwd     把1.txt 写入111.txtsed -r '1,5w 123.txt'    passwd    把paawd的1,5行写入123.txt文件

2.5 追加命令:a

[root@localhost ~]# sed -r 'a123' 1.txt     在文件1.txt内容中每行后面+123
##abc
123
##adc
123# sed -r '2a123' 1.txt        第二行后面,加上123行
##abc
##adc
123[root@localhost ~]# sed -r '2a 111\       第二行后面加上1111 333`````
> 333\
> 444\
> 2222'  1.txt
##abc
##adc
111
333
444
2222

2.6 插入命令:i

[root@localhost ~]# sed -r '2iaaaaaaaaaaaaaaa'  1.txt
##abc
aaaaaaaaaaaaaaa        在第二行插入aaaaaaaaaaaaa

2.7 替换整行命令:c

sed -r '2c3333'  1.txt       把文件1.txt中第二行替换成3333
##abc
3333

2.8 获取下一行命令:n

注:不能存在特殊字符

2.9 反向选择:!

2.10 多重编辑:e

 sed -e '1,3d' -e 's/123/1111111111111111111111111/g' 1.txt删除1-3行,把1.txt中的123  替换成1111111111111
##bac
#love
#LOve
Love
i love
i love you
hhhh
abcdefhhhgggff
l.ve
lve
love
le1111111111111111111111111
124355656
11111111111111111111111114545678
11111
2222222222333333333

2.11 实战案例

删除配置文件中#号的注释行

sed -r '2,6s/^/#/' 1.txt 把文件1.txt2-6行开始换成#sed -r '2,6s/(.*)/#\1/' 1.txt    ()内容可以被1引用sed -r 's/(.*)/#\1/'    1.txt    内容开头全部替换成#sed -r '2,6s/.*/#&/'    1.txt    &匹配前面查找的内容

三、awk

3.1 前言

3.2 工作原理

cat  /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin[root@mycat ~]# awk -F: '{print $1,$3}' /etc/passwd
root 0
bin 1

3.3 语法

[root@mycat ~]# awk 'BEGIN{print "ok"}END{print  "--------"}' /etc/hosts
ok
--------

3.4 格式化输出 print函数

[root@mycat ~]# awk  -F: '{print "username is:" $1 "\t uid is:" $3 }' /etc/passwd |head -1
****打印 文件/etc/passwd第一行,第一列用户名  第三列UID*****
username is:root     uid is:0
[root@mycat ~]# date | awk '{print "Month:" $2 "\nYear:" $1}'
Month:06月
Year:2022年

3.5 模式(正则表达式)和动作

[root@mycat ~]# awk '$0 ~/^root/'  /etc/passwd
root:x:0:0:root:/root:/bin/bash$0 : 计算行数
~  : 模糊查找;好像的意思
^root  : 以root开头的
!  : 反向;不是的意思awk -F: '$1 ~ /^root/' /etc/passwd
root:x:0:0:root:/root:/bin/bash

3.6 awk脚本变量

3.6.1 条件&判断

3.6.2 循环

         3.6.3 数组

#定义数组
[root@mycat ~]# awk -F: '{username[++i]=$1}END{print username[1]}' /etc/passwd
root
#数组遍历
[root@mycat ~]# awk -F: '{username[i++]=$1}END{for(i in username){print i,username[i]} }' /etc/passwd
10 games
11 ftp
12 nobody
13 systemd-network
14 dbus
15 polkitd
16 libstoragemgmt
30 usbmuxd
17 colord

3.7 案例:

Shell 编程三剑客相关推荐

  1. shell编程三剑客之grep与正则表达式

    shell编程三剑客之grep与正则表达式 一 grep工具 1.1 常用选项 1.2 选项解释 二 正则表达式 2.1 正则表达式的含义 2.2 正则表达式的应用场景 2.3 正则表达式名词解释 2 ...

  2. Shell编程三剑客

    文章目录 前言 grep 选项 sed 工具 概述 基本语法 常见的 sed 命令选项 常见的操作 实验 结合正则表达式 输出符合条件的文本 删除符合条件的文本 替换符合条件的文本 迁移符合条件的文本 ...

  3. shell 编程三剑客之三:awk 详解

    一. 基本介绍 awk 是一门特殊的编程语言, 它非常适合处理一些任务(改变数据格式.验证数据的有效性.搜索特定的数据项.求和.打印报表等), 经常只需要一两行便可搞定. 一个 awk 程序由一系列的 ...

  4. shell 编程三剑客之一:grep 详解

    grep 命令的功能是过滤制定规则的信息. 冷知识:grep的名字来源于一个sed格式:g/re/p  g:所有行,re:正则规则,p:打印 sed 的详细介绍以后我会写,这是一大块知识点,需要花一些 ...

  5. Shell编程三剑客之awk

    文章目录 引言 一.awk工具 1.awk概述 2.awk工具介绍 二.awk工作原理 三.awk内置变量 四.awk用法示例 1.打印文本内容 1.1 打印出网卡的IP地址 1.2 打印出网卡的流量 ...

  6. 独一无二 Shell 编程之正则表达式 与文本处理器 详细解释

    技能展示: 基础正则表达式 扩展正则表达式 sed 工具使用方法 awk 工具使用方法 4.1 正则表达式 之前学习了 Shell 脚本的基础用法,已经可以利用条件判断.循环等语句编辑 Shell 脚 ...

  7. Shell 编程之正则表达式与文本处理器--(grep,egrep 与文本处理器-sed、awk、sort、uniq、tr)

    文章目录 一.正则表达式 1.1 正则表达式概述 1.1.1 正则表达式的定义 1.1.2 正则表达式用途 1.2 基础正则表达式 1.3 基础正则表达式:grep命令 1.3.1 查找特定字符 1. ...

  8. shell编程之正则表达式与总结(grep,egrep)与文件处理器和总结(sed,awk,sort,uniq)

    文章目录 前言 一:基础正则表达式 1.1:正则表达式的定义 1.2:正则表达式用途 1.3:基础正则表达式 1.4:基础正则表达式:grep命令 1.4.1:查找特定字符 1.4.2:利用中括号&q ...

  9. shell编程系列15--文本处理三剑客之awk格式化输出printf

    shell编程系列15--文本处理三剑客之awk格式化输出printfprintf的格式说明符格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o 打印 ...

  10. shell编程系列20--文本处理三剑客之awk常用选项

    shell编程系列20--文本处理三剑客之awk常用选项awk选项总结选项 解释 -v 参数传递 -f 指定脚本文件 -F 指定分隔符 -V 查看awk的版本号[root@localhost shel ...

最新文章

  1. Go 学习笔记(53)— Go 标准库之 path(判断绝对路径、拆分目录和文件、组合路径、返回路径目录、获取路径最后文件名、获取文件扩展名、路径匹配规则)
  2. Kafka消费者重置offset读取数据
  3. ASP.NET MVC Framework体验(2):显示列表数据
  4. 数据结构之C语言模拟整数数组实现
  5. 这两天发现一个老外用JavaScript编写的好东西:dp.SyntaxHighlighter。
  6. 文巾解题 617. 合并二叉树
  7. JQuery中text()、html()和val()的区别
  8. FormsAuthenticationTicket基于forms的验证
  9. 马尔可夫网络,(马尔可夫随机场、无向图模型)(Markov Random Field)
  10. MyBatis配置详解
  11. Java:项目启动报错java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
  12. js页面间通信方法实现
  13. 面向对象技术(C++)学生成绩管理系统课程设计任务书及说明书
  14. python电脑基础_python基础-1.计算机基础
  15. np.linalg.inv方法详解
  16. 三菱模拟量fx3u4da_FX3U-4DA使用案例三菱FX3U-4DA用户手册(模拟量控制篇) - 广州正凌...
  17. 【绝对详细!不好使你顺着网线敲我!】Django3.1在Ubuntu16.04上的部署
  18. android 音乐播放器专辑图片旋转,Android应用开发之简易、大气音乐播放器实现专辑倒影效果...
  19. 如何正确使用计算机提纲,计算机系统操作论文大纲格式 计算机系统操作论文提纲如何写...
  20. 分子式是C9H16N4O4的(S)-4-Azido-2-(Boc-amino)butyric acid,120042-08-2化学性质解析

热门文章

  1. matlab数据导出wps,怎么把金山WPS表格的数据导入MATLAB/
  2. android studio scala插件,在Android Studio中使用Scala和Java
  3. 孕妇睡眠质量差怎么办?如何提高睡眠质量?
  4. 保护视力方面的电脑设定
  5. 210705学习笔记(cucumber@ruby)
  6. React使用高德地图 (react-amap)(一)
  7. eas 税率修改_5月1日开始,金蝶ERP系统税率调整方法与步骤
  8. 环信Android端实时语音视频通话时在本地实现通话录音录像
  9. python(十)——文件读写、OS模块、win32控制窗体、语音合成
  10. Marshmallow详解