SHELL 三剑客

grep awk sed

  • grep
grep通常和管道符|一起使用,对管道符前面数据进行对应处理 
其命令参数包括
-v 过滤指定内容
-i 不区分大小写
-c 统计匹配行号
-n 带行号

可以参考下图数据
在这里插入图片描述

  • awk
awk
简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk工作流程是这样的:读入有’\n’换行符分割的一条记录,然后将记录按指定的域分隔符划分域,
填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。
-F 默认是以空格为分隔符,可以自己指定
eg: awk -F':' 以冒号为分隔符
	awk awk -F ':' 'BEGIN {print "zhangsan,/bin/rf"} {print$1","$7} END {print "lisi,bin/shutdown"}' 1.txt 
	首行尾行添加数据
	

上述不懂的话不要紧,结合案例很容易理解
以/etc/passwd 中数据为例
在这里插入图片描述
执行思路是先打印添加的BEGIN行的内容,然后打印每行的第一列和第七列,最后打印添加的END内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • sed
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。
-n  使用安静(silent)模式。在一般sed的用法中,所有来自STDIN的数据一般都会被列出到终端上。但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会被列出来。
-e:直接在指令列模式上进行sed的动作编辑;
-f:直接将sed的动作写在一个文件内,非f filename则可以运行filename内的sed动作;
-「:sed的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)
-i:直接修改读取的文件内容,而不是输出到终端。
  1. 删除操作

在这里插入图片描述
在这里插入图片描述
通过上面照片可以看出,这种删除的话是一种逻辑删除,并不会对实际文件造成影响,如果想要实际删除文件的话需要加上参数-i
在这里插入图片描述

  1. 添加操作
    在这里插入图片描述
  2. 替换和打印
    在这里插入图片描述
  3. 搜索
    在这里插入图片描述

学习自B站视频SecHub网络安全社区,本博客用来记忆这些常用易遗忘的命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值