4.2_文本处理工具

devtools/2024/10/21 11:53:32/

## 1.grep ##

grep

[Globally search a Regular Expression and Print] 

(1)grep 格式 

##grep 格式##

grep 匹配条件 处理文件

grep root passwd             #过滤root关键字
grep -E = egrep              #扩展搜索
grep -i root passwd          ##忽略大小写
grep -E "\<root" passwd      ##root字符之前不能有字符
grep -E "root\>" passwd      ##root字符之后不能有字符
grep -数字                   ##显示过滤行以及上面几行和下面几行            
grep -n                      ##显示匹配的行所在行号
grep -A                      ##显示过滤行以及下面几行
grep -B                      ##显示过滤行以及上面几行
grep -v                      ##反向过滤

 

 

 

(2)grep字符数量匹配规则  

grep字符数量匹配规则 
^westos       ##以westos开有westos$      ##以westos结尾w....s       ##w开头s结尾中间4个任意字符.....s       ##s结尾前面5个任意字符*            ##字符出现任意?            ##0到1次+            ##1次到任意次{n}          ##n次{m,n}        ##m到n次{0,n}        ##0-n次{,n}         ##0-n次{m,}         ##最少m次
(lee){2}      ##lee字符串出现2次

 

 

练习脚本: 请显示系统中能被su命令切换的用户名称

##2.sed ##

命令格式:

sed 参数 命令 处理对象

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

(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)删除 

d                      ##删除
sed 5d westos          ##删除第五行
sed '/^#/d' fstab      ##把#开头的行删除
sed '/^UUID/!d' fstab  ##除了UUID以外的行都删除
sed -e '5,$d' westos 

 

(3)添加 

a ##添加
sed -e '$a hello world' fstab   ##给最后一行添加
sed -e '$a hello\nworld' fstab   ##给最后一行添加两行
sed -e '/^#/a hello world' fstab  ##给#开头的行添加

 

 

(4)替换 

c ##替换 
sed -e '/^#/c hello world' fstab 
sed '5chello world' westos

(5)符合的行写到指定文件 

w  ##把符合的行写到指定文件中 
sed '/^UUID/w westofile' westos ##把westos中UUID开头的行写入westosfile中

(6)插入 

i ##插入
sed '5ihello westos' westos 

(7)整合 

r  ##整合文件
sed '5r haha' westos  ##将haha放在westos第五行后边

(8)字符替换 

sed 字符替换
sed 's/:/###/g' westos 
sed 's/:/###/' westos 
sed 's/:/###/g' westos 
sed '1,5s/:/###/g' westos 
sed '1s/:/###/g' westos 
sed '1s/:/###/g;5s/:/###/g' westos 
sed '/lp/,/shutdown/s/:/###/g' westos 
sed 's/\//####/g' westos 
sed 's@/@####@g' westos sed 's@/@####@g' -i  westos    把sed处理的内容保存到westos文件中

 

 

 

练习及脚本

Apache_port.sh

此脚本接入数字 http的端口就改为此数字

假设selinux为关闭状态

例如: sh Apache_port.sh

ERROR: Pleaase input port number following script !!

sh Apache_port.sh 8080

apache的端口会被修改为8080

##3.awk##

报告生成器,专门用来截取需要的数据 

awk -F 分隔符 BEGIN{}{}END{} FILENAME

NR                #行数

NF                #列数

FILENAME   #文件名称本身

westos          #westos变量值

“westos”        #westos字符串

/bash$/                    #条件

/条件1|条件2/          #条件1或者条件2

/条件1/||/条件2/       #条件1或者条件2

/条件1/&&/条件2/    #条件1并且条件2

$0  #所有的列

$1  #第一列

$2  #第二列

$3   #第三列

 

 

 

 

课后练习:

使用ifconfig但只显示ip


http://www.ppmy.cn/devtools/31028.html

相关文章

[实例] Unity Shader 利用顶点着色器模拟简单水波

我们都知道顶点着色器可以用来改变模型各个顶点的位置&#xff0c;那么本篇我们就利用顶点着色器来做一个模拟简单水波的应用。 1. 简谐运动 在进行模拟水波之前&#xff0c;我们需要了解简谐运动&#xff08;Simple Harmonic Motion&#xff09;公式&#xff1a; 其中&#…

数据结构(三)------栈

制作不易&#xff0c;三连支持一下呗&#xff01;&#xff01;&#xff01; 文章目录 前言一、什么是栈二、栈的实现 1.栈的结构2.栈的初始化和销毁3.栈的插入数据和删除数据4.取栈顶元素总结 前言 前面我们介绍了第二种数据结构---链表&#xff0c;这里我们继续介绍下一种数据…

Android4.4真机移植过程笔记(一)

1、RK源码编译 获取内核源码&#xff1a; git clone git172.28.1.172:rk3188_kernel -b xtc_ok1000 内核编译环境&#xff1a; 从172.28.1.132编译服务器的/data1/ZouZhiPing目录下拷贝toolchain.tar.gz&#xff08;交叉编译工具链&#xff09;并解压到与rk3188_kernel同级目…

C# 字段(Field)与属性(Property)的区别

字段和属性&#xff0c;都是成员变量&#xff0c;都用于存取数据。字段读写无限制&#xff0c;属性通过get和set方法可以控制读写&#xff08;比如可以在年龄Age属性的set方法中限制&#xff0c;当赋值的value大于200时&#xff0c;则赋值默认值100&#xff0c;从而确保数据准确…

【数学 排列组合】1643. 第 K 条最小指令

本文涉及知识点 数学 排列组合 LeetCode1643. 第 K 条最小指令 Bob 站在单元格 (0, 0) &#xff0c;想要前往目的地 destination &#xff1a;(row, column) 。他只能向 右 或向 下 走。你可以为 Bob 提供导航 指令 来帮助他到达目的地 destination 。 指令 用字符串表示&am…

LeetCode 102.对称二叉树

题目描述 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false提示&#xff1a; 树中节点数…

基于缓存注解的时间戳令牌防重复提交设计

文章目录 一&#xff0c;概述二&#xff0c;实现过程1、引入pom依赖2、定义缓存管理3、时间戳服务类4、模拟测试接口 三&#xff0c;测试过程1&#xff0c; 模拟批量获取2&#xff0c; 消费令牌 四&#xff0c;源码放送五&#xff0c;优化方向 一&#xff0c;概述 API接口由于…

数据结构和算法

目录 数据结构 算法 数据结构是计算机存储、组织数据的方式&#xff0c;指相互之间存在一种或多种特定关系的数据元素的集合。这种“结构”可以理解为数据元素之间的逻辑关系&#xff0c;包括数据的逻辑结构和物理结构。精心选择的数据结构往往可以带来更高的运行或者存储效率…