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:直接修改读取的文件内容,而不是输出到终端。
- 删除操作
通过上面照片可以看出,这种删除的话是一种逻辑删除,并不会对实际文件造成影响,如果想要实际删除文件的话需要加上参数-i
- 添加操作
- 替换和打印
- 搜索
学习自B站视频SecHub网络安全社区,有很多Linux命令详解,本博客用来记忆这些常用易往的命令。