欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

【Linux系列】Linux三剑客awk,sed,grep

时间:2023-07-11

目录

一、Linux三剑客

二、历史文章指路

一、Linux三剑客

Linux中的三剑客是指awk,sed,grep。

awk擅长取列

sed擅长取行和替换

grep擅长查找功能

1、awk

简介

awk是一种处理文本文件的语言,是一个强大的文本分析工具。

举例

#查找nginx的进程idps aux|grep nginx|grep -v grep|awk '{print $2}';#使用":"分割,打印文件第1列awk -F ':' '{print $1}' /etc/passwd;#使用":"分割,打印文件第1,2,3列awk -F ':' '{print $1, $2, $3}' /etc/passwd;#格式化输出awk -F ':' '{ printf("%5s %5s %5sn", $1, $2, $3) }' /etc/passwd;#使用多个分隔符,先使用"1"分割,然后对分割结果再使用":"分割,打印文件第1,2,3列awk -F '[1 :]' '{print $1, $2, $3}' /etc/passwd;#使用-v设置变量,1+a:在第1列后面添加a列awk -F ':' -va='666' '{print $1, $1+a}' /etc/passwd;#使用-v设置变量,1b:在第1列后面拼接b值作为新的1列awk -F ':' -va='666' -vb='abc' '{print $1, $1+a, $1b}' /etc/passwd;#根据关键字匹配某一行awk '/root/' /etc/passwd;

2、sed

简介

sed主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

举例

#替换:将文本里所有aaa替换为bbb。s:search 查找并替换; g:global 全部替换; -i:implace; * 通配符。sed -i "s/aaa/bbb/g" /tmp///demo.txt;#末尾追加内容。$获取文件的末尾, a追加在文件末尾。sed -i '$a末尾追加内容' /tmp/demo.txt;#在指定行(关键字)前面或后面添加内容。前面追加i; 后面追加a。sed -i '/aaa/ i指定行(关键字)前加' /tmp/demo.txt;sed -i '/aaa/ a指定行(关键字)后加' /tmp/demo.txt;#在指定行(关键字)前面或后面添加内容。前面追加i; 后面追加a。sed -i '/aaa/i 指定行(关键字)前加' /tmp/demo.txt;sed -i '/aaa/a 指定行(关键字)后加' /tmp/demo.txt;#在指定行(行号)前面或者后面添加内容。前面追加i; 后面追加a。sed -i '10 i 指定行(行号)前加' /tmp/demo.txt;sed -i '10 a 指定行(行号)后加' /tmp/demo.txt;#/ 需用 来转义sed -i "s/[0-9].*$/2/g" /tmp/demo.txt

3、grep

简介

grep(global regular expression print,全局正则表达式输出)是一个搜索工具。

grep命令可根据指定模式对一个或多个文件的内容进行搜索,grep会将包含模式的一行输出。

举例

#在单个文件中查找grep root /etc/passwd;#在多个文件中查找grep root /etc/passwd /etc/shadow /etc/gshadow;#使用 -v 参数排除指定模式grep -v root /etc/passwd;#使用 -c 参数计算模式匹配到的数量grep -c root /etc/passwd;#使用 -n 参数在文件中查找指定模式并显示匹配行的行号grep -n root /etc/passwd;#使用 ^$ 查找文件中所有空行grep ^$ /etc/passwd;#使用 -e|-E 参数查找多个模式grep -e '6901' -e 'root' /etc/passwd;grep -E '6901|root' /etc/passwd;#使用 -r 参数递归地查找指定模式grep -r root /etc/;#使用 ^ 符号输出所有以指定模式开头的行grep ^root /etc/passwd;#使用 $ 符号输出所有以指定模式结尾的行grep bash$ /etc/passwd;

以上就是三剑客awk,sed,grep的基本操作方式了。

关注【嘎嘎软件测试】

搞测试,不迷路

呱呱大王本呱带你飞!

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。