文本处理大师:Linux中grep、sed和awk的绝佳教程

1 grep 搜索关键字

全局搜索正则表达式

1.1 基本格式

grep root passwd #过滤含有root关键字

在这里插入图片描述
-e 多个过滤词

grep -e root -e bash pa
grep -E "root|bin" pa # 等同于上面的命令

在这里插入图片描述
-i 忽略大小写
在这里插入图片描述
-E 过滤

grep -E "\<root" passwd ##root字符之前不能有字符
grep -E "root\>" passwd ##root字符之后不能有字符

在这里插入图片描述
-v 反向过滤
在这里插入图片描述

grep -数字 ##显示过滤行以及上面几行和下面几行
grep -n ##显示匹配的行所在行号
grep -A ##显示过滤行以及下面几行
grep -B ##显示过滤行以及上面几行
在这里插入图片描述

^westos以westos开有
westos$ 以westos结尾

在这里插入图片描述

1.2 字符匹配

w....s ##w开头s结尾中间4个任意字符
.....s ##s结尾前面5个任意字符
* ##字符出现任意

在这里插入图片描述

+ ##1次到任意次

在这里插入图片描述

在这里插入图片描述

{n} ##n此
{m,n} ##m到n次
{0,n} ##0-n次
{,n} ##0-n次
{m,} ##最少m次
(lee){2} ##lee字符串出现2次

在这里插入图片描述

2 sed 流编辑器

sed 参数 命令 处理对象
sed 参数 处理对象 -f 处理规则文件

2.1 p 显示

sed -n 5p westos ##显示第五行
sed -n 3,5p westos ##显示3到5行
sed -ne "3p;5p westos ##显示3和5行
sed -ne 1,5p westos ##1-5行
sed -ne '5,$p' westos ##5到最后以行
sed -n '/^#/p' fstab ##显示以#开头的行

在这里插入图片描述

2.2 d 删除

sed 5d westos ##删除第五行
sed '/^#/d' fstab ##把#开头的行删除
sed '/^UUID/!d' fstab ##除了UUID以外的行都删除
sed -e '5,$d' westos ## 同时操作第5行和最后一行

在这里插入图片描述

2.3 a 添加

sed '1ahello' fstab # 在第一行后面添加

在这里插入图片描述

sed '/^UUID/a666' fstab # 符合要求的行添加

在这里插入图片描述

sed '/^UUID/a6\n66' fstab # 换行添加

在这里插入图片描述

2.4 i 插入

sed '1ihello' fstab

在这里插入图片描述

2.5 w 输出重定向

sed '/^UUID/w westofile' westos ##把westos中UUID开头的行写入westosfile中

在这里插入图片描述

2.6 r 合并文件

在这里插入图片描述

2.7 s 替换

2.7.1 普通替换

sed 's/bin/6666/g' passwd # 替换bin为6666

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.7.2 转义字符替换

sed 's/\//???/g' passwd
sed 's@/@???@g' passwd # 两条命令是等效的

在这里插入图片描述

2.8 f 执行文件中多条命令

sed -f rule fstab

在这里插入图片描述

3 awk 报告生成器

截取所需要的数据

3.1 显示列

awk -F : '{print $0}' passwd
awk -F : '{print $1}' passwd
awk -F : '{print $1,$7}' passwd # 显示第一列和第7列

在这里插入图片描述

3.2 条件

awk -F : '/^root/{print $1,$7}' passwd # // 里面的内容是条件判断
awk -F : '/^root/||/^lp/{print}' passwd # 或者
awk -F : '/^root/&&/bash$/{print}' passwd # 并且

在这里插入图片描述

awk -F : '/bash$/{print NR}' passwd # 行
awk -F : '/bash$/{print $NF}' passwd # 列

在这里插入图片描述

awk -F : 'BEGIN{N=0}/bash$/{N++}END{print N}' passwd

在这里插入图片描述

awk -F : '$3!~/^0/&&/bash$/{print}' passwd # 第三列,以0开头,去掉后,并且剩余的行结尾是bash

在这里插入图片描述

4 编写脚本

4.1 请显示系统中能被su命令切换的用户名称

grep -E "\<bash$|\<sh$" /etc/passwd

在这里插入图片描述

4.2 请显示网卡IP

ifconfig ens160 | awk '/inet\>/{print $2}'

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/189040.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Rt-Thread 移植6--多线程(KF32)

6.1 就绪列表 6.1.1 线程就绪优先级组 线程优先级表的索引对应的线程的优先级。 为了快速的找到线程在线程优先级表的插入和移出的位置&#xff0c;RT-Thread专门设计了一个线程就绪优先级组。线程就绪优先组是一个32位的整型数&#xff0c;每一个位对应一个优先级&#xff…

Nussbaumer Transform 以及 Amortized FHEW bootstrapping

参考文献&#xff1a; [Nuss80] Nussbaumer H. Fast polynomial transform methods for multidimensional DFTs[C]//ICASSP’80. IEEE International Conference on Acoustics, Speech, and Signal Processing. IEEE, 1980, 5: 235-237.[SV11] Smart N P, Vercauteren F. Full…

出口美国操作要点汇总│走美国海运拼箱的注意事项│箱讯科技

01服务标准 美国的货物需要细致的服务&#xff0c;货物到港后的服务也是非常重要的。如果在货物到港15天内&#xff0c;如果没有报关行进行(PROCEED)&#xff0c;货物就会进入了G.O.仓库&#xff0c;G.O.仓库的收费标准是非常高的。 02代理资格审核 美国航线除了各家船公司&a…

基于SSM的停车场管理系统设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题&#xff0c;今天给大家介绍…

低代码平台,业务开发的“银弹”

目录 一、为什么需要低代码平台 二、低代码平台的搭建能力 三、低代码其他能力 四、写在最后 随着互联网和信息技术的快速发展&#xff0c;各行各业都在积极拥抱数字化转型。在这个过程中&#xff0c;软件开发成为企业实现数字化转型的关键环节。然而&#xff0c;传统的软件开发…

YOLOv4: Optimal Speed and Accuracy of Object Detection(2020.4)

文章目录 AbstractIntroductionRelated workObject detection modelsBag of freebiesBag of specials MethodologySelection of architectureSelection of BoF and BoSAdditional improvementsYOLOv4 ExperimentsResults表8列出了使用Maxwell GPU的帧率对比结果表9列出了使用Pa…

Jenkins 质量扫描

代码质量扫描工具&#xff08;SonarQube&#xff09; 质量评审 SonarQube有四个关键组件 ◼ SonarQube Server运行有三个组件 ◆ Web Server&#xff1a;UI ◆ Search Server&#xff1a;为UI提供搜索功能&#xff0c;基于ElasticSearch ◆ Compute Engine Server&#xff1a…

Git GUI、SSH协议和IDEA中的Git使用详解

目录 前言 一、Git GUI的使用 1. 什么是Git GUI 2. 常见的Git GUI工具 3.使用 4.使用Git GUI工具的优缺点 优点&#xff1a; 缺点&#xff1a; 二、SSH协议 1.什么是SSH协议 2.SSH的主要特点和作用 3.SSH密钥认证的原理和流程 4. SSH协议的使用 三、IEDA使用git …

webrtc推拉流 srs报错:DTLS_HANG DTLS: > Hang, done=0, version=-1, arq=0

执行了./objs/srs -c conf/rtc.conf 打开了srs的推拉流网页&#xff1a; 推流 拉流 srs报错如下&#xff1a; [2023-11-08 21:55:23.489][Warn][44992][8xvf4d62][104][DTLS_HANG] DTLS: Hang, done0, version-1, arq0 观看srs日志&#xff0c;在sdp offer&#xff0c;answer…

【postgresql】 代替mysql的if函数

在postgresql 中用 COALESCE 来代替mysql中的 if &#xff1b; COALEASE 函数的语法如下&#xff1a; COALESCE(expression_1, expression_2, expression_3, ...) COALESCE 函数接受多个参数&#xff0c;并且返回第一个非空的参数值&#xff1b; 如果所有参数都为空值&…

[护网杯 2018]easy_tornado 1(两种解法!)

题目环境&#xff1a;发现有三个txt文本文件 /flag.txt/welcome.txt/hints.txt 依此点开 flag在/fllllllllllllag文件中 在hints.txt文件中发现md5计算 md5(cookie_secretmd5(filename)) 并且三个文件中都存在filehash&#xff08;文件名被哈希算法加密32位小写&#xff09; 猜…

java excel、word、PPT转换成pdf预览

先引入包&#xff1a;[lib下载地址](https://mp.csdn.net/mp_download/manage/download/UpDetailed)Controllerpublic AjaxResult fileToPdf(RequestBody VerifyCode url, HttpServletResponse response, HttpServletRequest request) throws IOException {String fileUrl req…

[pipe-自写管道] 强网拟态2023-water-ker

程序分析 保护当然都开了, 题目给了一次增加, 释放, 修改一字节堆块的能力, 这里释放堆块后没有将其指针置空从而导致了 UAF. 漏洞利用 这里的堆块大小为 512 字节并是 SLAB_ACCOUNT, 所以可以直接利用管道去构造自写管道从而构造任意读写系统, 详细见大佬博客:【CTF.0x08】D…

NSF服务器

1.简介 1.1 NFS背景介绍 NFS是一种古老的用于在UNIX/Linux主机之间进行文件共享的协议。它古老到你必须穿着白大补才能接近一台计算机的年代。在那个年代&#xff0c;所有的联网计算机都被认为是可信的&#xff0c;而不像现今这样&#xff0c;任何人都有多种多样方法能连接到你…

【解决】conda-script.py: error: argument COMMAND: invalid choice: ‘activate‘

运行conda activate base报错&#xff1a; 试了网上找到的解决方法都不行&#xff1a; 最后切换了一下terminal&#xff1a; 从powershell改回cmd&#xff08;不知道为什么一开始手贱换成powershell&#xff09; 就可以了

(一)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

一、七种算法&#xff08;DBO、LO、SWO、COA、LSO、KOA、GRO&#xff09;简介 1、蜣螂优化算法DBO 蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09;由Jiankai Xue和Bo Shen于2022年提出&#xff0c;该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…

Python - 利用 OCR 技术提取视频台词、字幕

目录 一.引言 二.视频处理 1.视频样式 2.视频截取 ◆ 裁切降帧 ◆ 处理效果 3.视频分段 三.OCR 处理 1.视频帧处理 2.文本识别结果 3.后续工作与优化 ◆ 识别去重 ◆ 多线程提效 ◆ 片头片尾优化 四.总结 一.引言 视频经常会配套对应的台词或者字幕&#xff0c…

4.HTML网页开发的工具

4. 网页开发的工具 4.1 快捷键 4.1.1 快速复制一行 快捷键&#xff1a;shiftalt下箭头&#xff08;上箭头&#xff09; 或者ctrlc 然后 ctrlv 4.1.2 选定多个相同的单词 快捷键&#xff1a; ctrld 4.1.3 添加多个光标 快捷键&#xff1a;ctrlalt上箭头&#xff08;下箭头&…

CS224W6.1——介绍图神经网络GNN

之前我们讨论了一些节点嵌入技术&#xff0c;它们可以通过随机游走的过程学习与任务无关的特征。从这篇开始&#xff0c;我们介绍了令人兴奋的图神经网络技术&#xff0c;该技术基于图结构用多层非线性变换对节点特征进行编码。图神经网络在各种任务中表现出非凡的性能&#xf…

vue3响应式api

响应式api——compositon api setup&#xff1a; 不要再想this问题执行是在beforeCreated之前 beforeCreated&#xff1a;也就是创建了一个实例 created&#xff1a;挂载了数据 通过形参props接收&#xff0c;只读 以后所有代码都写到setup中 判断是否只读&#xff1a;isReadon…