Shell 编程三剑客
目录
一、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 编程三剑客相关推荐
- shell编程三剑客之grep与正则表达式
shell编程三剑客之grep与正则表达式 一 grep工具 1.1 常用选项 1.2 选项解释 二 正则表达式 2.1 正则表达式的含义 2.2 正则表达式的应用场景 2.3 正则表达式名词解释 2 ...
- Shell编程三剑客
文章目录 前言 grep 选项 sed 工具 概述 基本语法 常见的 sed 命令选项 常见的操作 实验 结合正则表达式 输出符合条件的文本 删除符合条件的文本 替换符合条件的文本 迁移符合条件的文本 ...
- shell 编程三剑客之三:awk 详解
一. 基本介绍 awk 是一门特殊的编程语言, 它非常适合处理一些任务(改变数据格式.验证数据的有效性.搜索特定的数据项.求和.打印报表等), 经常只需要一两行便可搞定. 一个 awk 程序由一系列的 ...
- shell 编程三剑客之一:grep 详解
grep 命令的功能是过滤制定规则的信息. 冷知识:grep的名字来源于一个sed格式:g/re/p g:所有行,re:正则规则,p:打印 sed 的详细介绍以后我会写,这是一大块知识点,需要花一些 ...
- Shell编程三剑客之awk
文章目录 引言 一.awk工具 1.awk概述 2.awk工具介绍 二.awk工作原理 三.awk内置变量 四.awk用法示例 1.打印文本内容 1.1 打印出网卡的IP地址 1.2 打印出网卡的流量 ...
- 独一无二 Shell 编程之正则表达式 与文本处理器 详细解释
技能展示: 基础正则表达式 扩展正则表达式 sed 工具使用方法 awk 工具使用方法 4.1 正则表达式 之前学习了 Shell 脚本的基础用法,已经可以利用条件判断.循环等语句编辑 Shell 脚 ...
- 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. ...
- shell编程之正则表达式与总结(grep,egrep)与文件处理器和总结(sed,awk,sort,uniq)
文章目录 前言 一:基础正则表达式 1.1:正则表达式的定义 1.2:正则表达式用途 1.3:基础正则表达式 1.4:基础正则表达式:grep命令 1.4.1:查找特定字符 1.4.2:利用中括号&q ...
- shell编程系列15--文本处理三剑客之awk格式化输出printf
shell编程系列15--文本处理三剑客之awk格式化输出printfprintf的格式说明符格式符 含义 %s 打印字符串 %d 打印十进制数 %f 打印一个浮点数 %x 打印十六进制数 %o 打印 ...
- shell编程系列20--文本处理三剑客之awk常用选项
shell编程系列20--文本处理三剑客之awk常用选项awk选项总结选项 解释 -v 参数传递 -f 指定脚本文件 -F 指定分隔符 -V 查看awk的版本号[root@localhost shel ...
最新文章
- Go 学习笔记(53)— Go 标准库之 path(判断绝对路径、拆分目录和文件、组合路径、返回路径目录、获取路径最后文件名、获取文件扩展名、路径匹配规则)
- Kafka消费者重置offset读取数据
- ASP.NET MVC Framework体验(2):显示列表数据
- 数据结构之C语言模拟整数数组实现
- 这两天发现一个老外用JavaScript编写的好东西:dp.SyntaxHighlighter。
- 文巾解题 617. 合并二叉树
- JQuery中text()、html()和val()的区别
- FormsAuthenticationTicket基于forms的验证
- 马尔可夫网络,(马尔可夫随机场、无向图模型)(Markov Random Field)
- MyBatis配置详解
- Java:项目启动报错java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
- js页面间通信方法实现
- 面向对象技术(C++)学生成绩管理系统课程设计任务书及说明书
- python电脑基础_python基础-1.计算机基础
- np.linalg.inv方法详解
- 三菱模拟量fx3u4da_FX3U-4DA使用案例三菱FX3U-4DA用户手册(模拟量控制篇) - 广州正凌...
- 【绝对详细!不好使你顺着网线敲我!】Django3.1在Ubuntu16.04上的部署
- android 音乐播放器专辑图片旋转,Android应用开发之简易、大气音乐播放器实现专辑倒影效果...
- 如何正确使用计算机提纲,计算机系统操作论文大纲格式 计算机系统操作论文提纲如何写...
- 分子式是C9H16N4O4的(S)-4-Azido-2-(Boc-amino)butyric acid,120042-08-2化学性质解析
热门文章
- matlab数据导出wps,怎么把金山WPS表格的数据导入MATLAB/
- android studio scala插件,在Android Studio中使用Scala和Java
- 孕妇睡眠质量差怎么办?如何提高睡眠质量?
- 保护视力方面的电脑设定
- 210705学习笔记(cucumber@ruby)
- React使用高德地图 (react-amap)(一)
- eas 税率修改_5月1日开始,金蝶ERP系统税率调整方法与步骤
- 环信Android端实时语音视频通话时在本地实现通话录音录像
- python(十)——文件读写、OS模块、win32控制窗体、语音合成
- Marshmallow详解