linux三剑客

正则
匹配以字母a开头的单词.
\ba\w*\b
匹配刚好6个字符的单词
\b\w{6}\b
匹配1个或更多连续数字
\d+
5位到12位QQ号
^\d{5,12}$
匹配以hi单词后面有lily的单词
\bhi\b.*\blily\b

以0开头,后面三个数字,一个连字号-,最后8个数字
0112-1234567798
0\d{3}-\d{8}

在这里插入图片描述

grep定义:根据用户指定的模式对目标文本进行过滤,显示被模式匹配到的行

-v 显示不被pattern匹配到的行
-i 忽略字符大小写
-n 显示匹配的行号
-c统计匹配的行数
-o 仅显示匹配到的字符串
-E 使用ERE,相当于egrep
举例
查找以a开头的行
grep ^a test.txt
查找以b结尾的行
grep b$ test.txt
查找文件的内容包含root的行数
grep -n root test.txt
查找文件的内容不包含root的行
grep -nv root test.txt

sed:流编辑器,一次处理一行内容
a:新增 sed -e ‘4 a newline’
c:取代 sed -e ‘2,5c No 2-5 number’
d:删除 sed -e ‘2,5d’
i:插入. sed -e ‘2i newline’
p:打印 sed -n ‘/root/p’
s:取代 sed -e ‘s/old/new/g’

查看帮助
man sed
sed -h
在第二行后加上newline
sed ‘2a newline’ test.txt
在第二行前加上newline
sed ‘2i newline’ test.txt
全局替换
sed ‘s/root/hello/g’ test.txt

直接修改文件内容
sed -i ‘s/root/hello/g’ test.txt

awk定义:
把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行后续处理
在这里插入图片描述

在这里插入图片描述
搜索/etc/password有root关键字的所有行,并显示对应的shell
awk -F:‘/root/{print $0}’ /etc/password
打印/etc/password的第二行信息
awk -F: ‘NR==2{print $0}’ /etc/password

使用begin加入标题
awk ‘BEGIN {print “BEGIN”,“BEGIN”} {print $1,$2}’ /etc/password
自定义分隔符
echo “111 222|333 444|555 666”|awk 'BEGIN{RS="|"}{print $0}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值