Linux三剑客(awk\grep\sed)的用法

正则匹配

常用元字符

代码说明
.匹配除换行符以外的任意字符
\w匹配字符或数字或下划线或汉字
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

常用的限定符

代码说明
*重复零次或更多次
+重复一次或更多次
重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
grep命令的使用
命令说明
grep文本搜索

grep命令选项的使用
命令形式

  • grep [选项] 正则 [文件名]
命令说明
-i忽略大小写
-n显示匹配行号
-v显示不包含匹配文本的所有行
-c统计匹配的行数
-o仅显示匹配到的字符串
-E使用ERE,相当于egrep

实战:

  • 查找文件内容包含root的行数
    • grep -n root test.txt
sed命令的使用

sed是流编辑器,一次处理一行内容
 928水水水水水水水水水水
命令形式

  • sed[选项][-e< script>][-f<script文件>][文本文件]
  • h 显示帮助
  • n 仅显示script处理后的结果
  • -e< script>以选项中指定的script来处理输入的文本文件
  • -f<script文件>以选项中指定的script文件来处理输入的文本文件
  • -i 对文件实际进行操作

常用动作

  • a:新增 sed -e ‘4 a b’(在a后加入b)
  • c:取代 sed -e ‘2,5c a b c’(用a、b、c取代2-5行的内容)
  • d:删除 sed -e ‘2,5d’(删除2-5行)
  • i:插入 sed -e ‘2i b’(在第二行前插入b)
  • p:打印 sed -n ‘/root/p’(匹配到root打印)
  • s:取代 sed -e ‘s/被取代/要取代/g(全局)’

查看帮助

  • man sed
  • sed -h
awk命令的使用

在这里插入图片描述
命令形式:

  • awk ‘-正则 + 执行命令’[文件名]

常用参数

命令说明
FILENAMEawk浏览的文件名
BEGIN处理文本之前要执行的操作
END处理文本之后要执行的操作
FS设置输入域分隔符,等价于命令行 -F选项
NF浏览记录的域的个数(列数)
NR已读的记录数(行数)
OFS输出域分隔符
ORS输出记录分隔符
RS控制记录分隔符
$0整条记录
$1表示当前行的第一个域…

实战:

打印passwd第二行第7列

awk -F : 'NR==2{print $7}' /etc/passwd

打印
开头打印BEGIN BEGIN后打印passwd第1第2列

awk -F : 'BEGIN{print "BEGIN,BEGIN"}{print $1 $2}' /etc/passwd

分割打印123|456|789

echo "123|456|789" | awk "BEGIN{RS="|"}{print $0}"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柴可夫斯雞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值