当前位置: 首页 > news >正文

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网络安全社区,有很多Linux命令详解,本博客用来记忆这些常用易忘的命令。


http://www.mrgr.cn/news/96381.html

相关文章:

  • AI 时代,我们该如何写作?
  • 基于kafka的分布式日志收集平台项目(第三部分)
  • 杂草YOLO系列数据集4000张
  • 【网络编程】搭建一个简单的UDP通信服务器和客户端
  • 从24GHz到71GHz:Sivers半导体的广泛频率范围5G毫米波产品解析
  • Git和GitCode使用(从Git安装到上传项目一条龙)
  • 算法刷题记录——题解目录汇总(持续更新)
  • 学习不同电脑cpu分类及选购指南
  • 通信之光纤耦合器
  • 【HC-05】蓝牙串口通信模块调试与应用(1)
  • C++菜鸟教程 - 从入门到精通 第五节
  • Vue2 使用 v-if、v-else、v-else-if、v-show 以及 v-has 自定义指令实现条件渲染
  • 高并发系统下的订单号生成服务设计与实现
  • 综合实验2
  • 买卖股票的最佳时机(121)
  • 【vllm/瞎折腾】在内网wsl上安装vllm并尝试多节点部署(失败了)
  • 【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建,Fabric 模组详细搭建教程
  • 人生感悟8
  • GAMMA数据处理(十)
  • 【力扣刷题|第十七天】0-1 背包 完全背包