11、Linux基础--sort、uniq、cut、tr、wc、流处理工具sed
笔记
1、晨考
1、写出过滤手机号的正则表达式
1[0-9]{10}
2、写出过滤邮箱的正则表达式
chenyang@123.com
[a-zA-Z0-9-_]+@[a-z0-9]+\.(com|cn|com\.cn|net)
3、过滤密码,要求必须要大写字母、小写字母、数字以及下划线,长度在 8 到 16 之间
([A-Z]+[a-z]+[0-9]+_+){8,16}
4、过滤本地的IP
ip a | grep -E '([(1[0-9]{2}){3}(2[0-4][0-9]){3}(25[0-4]){3}[0-9]{1,2}]\.){3}[(1[0-9]{2}){3}(2[0-4][0-9]){3}(25[0-4]){3}[0-9]{1,2}]'
([0-9]{1,3}\.){3}[0-9]{1,3}
2、昨日问题
3、今日内容
1、文本处理命令
2、linux三剑客之sed
2.1、定位
4、文本处理命令
1、sort命令
用于将文件内容加以排序
-n # 依照数值的大小排序
-r # 以相反的顺序来排序
-k # 以某列进行排序
-t # 指定分割符,默认是以空格为分隔符
cat 3.txt | sort -n -r -k3 -t '|'
2、uniq 命令
用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用
-c # 在每列旁边显示该行重复出现的次数。
-d # 仅显示重复出现的行列。
-u # 仅显示出一次的行列
3、cut 命令
cut命令用来显示行中的指定部分,删除文件中指定字段
-d # 指定字段的分隔符,默认的字段分隔符为"TAB";
-f # 显示指定字段的内容;
4、tr命令
替换或删除命令
-d # 删除字符
5、wc命令
统计,计算数字
-c # 统计文件的Bytes数;
-l # 统计文件的行数;
-w # 统计文件中单词的个数,默认以空白字符做为分隔符
注:在Linux系统中,一段连续的数字或字母组合为一个词。
5、linux三剑客之sed
sed是linux中,流媒体编辑器、流处理工具。
grep : 过滤文本
sed : 修改文本
awk : 处理文本
sed与awk的区别:
参考:https://www.zhihu.com/question/297858714
1、sed的格式
sed [参数] '处理规则' [操作对象]
2、参数
-e : 允许多项编辑
-n : 取消默认输出
-i : 就地编辑
-r : 支持拓展正则
-f : 指定sed匹配规则脚本文件
3、定位
1、数字定位法
指定行号。
sed '3d' 4.txt
sed '2,3d' 4.txt
2、正则定位法
指定正则定位。
sed '/^g/d' 2.txt
3、数字和正则定位法
sed '3,/^g/d' 2.txt
4、正则正则定位法
sed '/^g/,/^j/d' 2.txt
4、sed的编辑模式:
d :删除
p :打印
a : 在当前行后添加一行或多行
sed '2axxx' 4.txt
c :用新文本修改(替换)当前行
sed '2cxxx' 4.txt
i : 在当前行之前,插入文本(单独使用时)
sed '2ixxx' 4.txt
r : 在文件中读内容
sed '2r r.txt' 2.txt
w : 将指定行写入文件
sed '2w w.txt' 2.txt
y : 将字符转换成另一个字符
sed '2y/fa/FA/' 2.txt
s : 将字符串转换成另一个字符串(每一行只替换一次)
sed 's/11/22/' 6.txt
g : 全部执行
sed 's/11/22/g' 6.txt
i : 忽略大小写(跟 s 模式一起使用时)
& :代表前面匹配到的内容
6、案例
1、将nginx.conf中的注释行全部去掉
[root@localhost ~]# sed '/^ *#/d' /etc/nginx/nginx.conf
2、将nginx.conf中每一行之前增加注释
[root@localhost ~]# sed 's/.*/# &/g' /etc/nginx/nginx.conf
3、要求一键修改本机的ip,
192.168.15.100 ---> 192.168.15.101
172.16.1.100 ---> 172.16.1.101
sed -i 's#.100#.101#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
4、将/etc/passwd中的root修改成ROOT
sed -i 's#root#ROOT#g' /etc/passwd
11、Linux基础--sort、uniq、cut、tr、wc、流处理工具sed的更多相关文章
- 文本处理命令(sort+uniq+cut+tr+wc)+三剑客之sed
目录 文本处理命令+三剑客之sed 一.文本处理命令 1.排序命令 sort 2.检查/删除命令 uniq 3. cut 显示特定部分命令 4. 替换或删除命令 tr 5.统计 计算数字命令 wc 二 ...
- Linux之 sort,uniq,cut,wc命令详解
sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 ...
- linux 基础2-null,cut,wc,head,tail
一. 特殊文件: /dev/null和/dev/tty Linux系统提供了两个对Shell编程非常有用的特殊文件,/dev/null和/dev/tty.其中/dev/null将会丢掉所有写入它的数据 ...
- 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解
linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...
- linux sort,uniq,cut,wc命令详解
linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...
- (转)linux sort,uniq,cut,wc命令详解
linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...
- linux sort,uniq,cut,wc,tr命令详解
sort是在Linux里非常常用的一个命令,对指定文件进行排序.去除重复的行 sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sor ...
- [转]linux sort,uniq,cut,wc命令详解
sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 ...
- linux sort,uniq,cut,wc命令详解 (转)
sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 ...
随机推荐
- Linux_yum安装时报404错误
使用yum安装报错如下: [root@localhost ~]# yum install gcc 已加载插件:fastestmirror Loading mirror speeds from cach ...
- Go语言系列之标准库flag
Go语言内置的flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单. os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用os.Args来获取命令行参数. ...
- 【涨姿势】原来golang的case <-time.After(xxx)还有这样的坑
偶然看到这样一篇文章:<使用 pprof 排查 Golang 内存泄露>https://www.toutiao.com/i6881796351139676680/ 最后一段让我很疑惑: 修 ...
- 使用 fail2ban 保护 frp 服务
背景 我们一般会使用 fail2ban 来保护暴露到公网的提供密码登录的 ssh 连接等. 但使用 frp 穿透后所有的从外网访问都会变成 127.0.0.1 进入的,原本能用 fail2ban 保护 ...
- golang中值类型的嵌入式字段和指针类型的嵌入式字段
总结: 1. 值类型的嵌入式字段,该类型拥有值类型的方法集,没有值指针类型的方法集 2. 指针类型的嵌入式字段,该类型拥有值指针类型的方法集,没有值类型的方法集,并且,该类型的指针类型也有值指针类型的 ...
- Java中四种访问权限总结
一.Java中有四种访问权限, 其中三种有访问权限修饰符,分别为private.public.protected,还有一种不带任何修饰符(default). 1. private: Java语言中对访 ...
- C++数据结构类型以及实现类
1.array数组 #include<iostream> #include<array> using namespace std; int main() { array< ...
- linux虚拟机xshell安装
目录 一:虚拟机安装 二:配置windows网络 三:linux操作系统安装 四:xshell安装使用 一:虚拟机安装 1.双击虚拟机软件 ---> 下一步 直至安装完毕 2.安装Linux操作 ...
- 「数据结构」Link-Cut Tree(LCT)
#1.0 简述 #1.1 动态树问题 维护一个森林,支持删除某条边,加入某条边,并保证加边.删边之后仍然是森林.我们需要维护这个森林的一些信息. 一般的操作有两点连通性,两点路径权值和等等. #1.2 ...
- mysql加强(4)~多表查询
mysql加强(4)~多表查询:笛卡尔积.消除笛卡尔积操作(等值.非等值连接),内连接(隐式连接.显示连接).外连接.自连接 一.笛卡尔积 1.什么是笛卡尔积: 数学上,有两个集合A={a,b},B= ...