sed、grep、awk
如string.txt文件是这样的
zhangsan
13554442907
lisi
13619299998
xiaowang
15128392967
laoma
18192266211
zhaosi
15528224682
将string.txt改成如下
zhangsan:13554442907
lisi:13619299998
xiaowang:15128392967
laoma:18192266211
zhaosi:15528224682
sed 'N;s@\n@:@' string.txt
字符串 var=http://www.aaa.com/root/123.htm
取出 www.aaa.com/root/123.htm
echo $var|awk -F// '{print $2}';echo $var|grep -o 'www.*htm';echo $var|sed -r 's@[^/]+//(.*)@\1@'
取出 123.htm
echo $var|awk -F/ '{print $NF}';echo $var|grep -o "123.htm";echo $var|sed -r 's@([^[:digit:]]*)(.*)@\2@'
取出 http://www.aaa.com/root
echo $var|grep -o 'http.*root';echo $var|sed -r 's@(.*)/(.*)@\1@';
取出 http
echo $var|awk -F: '{print $1}';echo $var|grep -o "http";echo $var|sed -r 's@([^:]+)(.*)@\1@'
取出 http://
echo $var|grep -o "http://";echo $var|sed -r 's@(.*//)(.*)@\1@';echo $var|awk -Fwww '{print $1}'
取出 www.aaa.com/root/123.htm
echo $var|grep -o 'www.*';echo $var|sed -r 's@([^w]+)(.*)@\2@';echo $var|awk -F// '{print $2}'
取出 123
echo $var|tr -c -d '[0-9]\n';echo $var|grep -oE '[0-9]{3}'
找出b文件在a文件中的相同行,不同行
cat a
张三
李四
王五
赵六cat b
小明
小红
张三
赵六awk 'FNR==NR{a[$0];next}{if($0 in a)print $0}' a b
awk 'FILENAME=="a"{a[$0]=1}FILENAME=="b" && a[$0]==1{print $0}' a b
awk 'ARGIND==1{a[$0]=1}ARGIND==2 && a[$0]==1{print $0}' a b
张三
赵六找出b文件在a文件中的不同行
awk 'FNR==NR{a[$0]=1;next}a[$0]!=1{print $0}' a b
awk 'FILENAME=="a"{a[$0]=1}FILENAME=="b" && a[$0]!=1{print $0}' a b
awk 'ARGIND==1{a[$0]=1}ARGIND==2 && a[$0]!=1{print $0}' a b
小明
小红
合并文件
[root@apenglinux-002 ~]# cat a
张三 男
李四 女
王五 男
赵六 女
[root@apenglinux-002 ~]# cat b
张三 22
李四 29
王五 18
赵六 25awk 'FNR==NR{a[$1]=$0;next}{print a[$1],$2}' a b
awk 'FILENAME=="a"{a[$1]=$0}FILENAME=="b"{print a[$1],$2}' a b
awk 'ARGIND==1{a[$1]=$0}ARGIND==2{print a[$1],$2}' a b
张三 男 22
李四 女 29
王五 男 18
赵六 女 25
同一文件中同一ip的服务合并
cat a
192.168.1.1: httpd
192.168.1.1: tomcat
192.168.1.2: httpd
192.168.1.2: postfix
192.168.1.3: mysqld
192.168.1.4: httpdawk 'BEGIN{FS=":";OFS=":"}{a[$1]=a[$1] $2}END{for(v in a)print v,a[v]}' a
192.168.1.1: httpd tomcat
192.168.1.2: httpd postfix
192.168.1.3: mysqld
192.168.1.4: httpd
转载于:https://blog.51cto.com/13480443/2088215
sed、grep、awk相关推荐
- 几个常用的文本处理shell 命令:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk
内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...
- 四剑客查找字符_linux 四剑客 find 、grep、sed、awk整理
linux 四剑客 find .grep.sed.awk整理 find 主要是用于查找Linux 操作系统的某个文件.目录所在路径,查找出满足条件的文件或者目录的路径 find / -name *.r ...
- linux命令 三大利器,awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一...
awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...
- Linux 运维常用命令 find、awk、sed、grep、vi、ps、lsof、rpm
先用一个脚本,模拟创建 14 个测试文件: #!/bin/bash for ((i=1;i<=10;i++)); do if [ $i -lt 3 ] thentouch /home/mysql ...
- Shell程序设计 | 文本处理工具 :正则表达式、grep、sed、awk
文章目录 正则表达式 grep sed awk 其它常用工具 cut sort uniq tr 常见面试题 第十行 有效电话号码 统计词频 转置文件 要想使用这些流式处理工具,那么就必须得了解正则表达 ...
- Linux文本处理三剑客(awk、grep、sed)
目录 grep 简介 实际使用 小结 sed awk 名字由来 强大的文本处理工具 语法 域 模式&动作 结合正则 复合表达式 printf 格式化输出 内置变量 内置函数 awk脚本 gre ...
- 【Shell牛客刷题系列】SHELL1 统计文件的行数:学习wc命令和文本三剑客awk、grep、sed命令
该系列是基于牛客Shell题库,针对具体题目进行查漏补缺,学习相应的命令. 刷题链接:牛客题霸-Shell篇. 该系列文章都放到专栏下,专栏链接为:<专栏:Linux>.欢迎关注专栏~ 本 ...
- 系统特殊符号、通配符号、正则符号、find、grep、sed、awk命令(总结)
目录 一.常见系统特殊符号 (一)基础符号系列 1)美元符号 $ 2)叹号符号 ! 3)竖线符号 | 4)井号符号 # (二)引号符号系列 (三)定向符号系列 (四)路径符号系列 (五)逻辑符 ...
- Linux之四剑客:find、sed、grep、awk
目录 find 查找方式 1.按名字查找 2.按目录查找 3.按权限查找 4.按类型查找 (b/d/c/p/l/f ) 5.按属主及属组 6.按时间查找 7.按文件新旧 8.按大小查找 sed 1.打 ...
- Linux正则表达式、grep、sed、awk简单使用
文章目录 正则表达式 元字符 扩展元字符 POSIX字符类补充 使用案例 grep grep的正则表达式 grep使用案例 sed sed使用详解 sed使用方法 sed命令 sed和正则表达式 基本 ...
最新文章
- Redis 服务器管理相关命令
- 李彦宏的文字游戏:百度10篇论文被自然语言处理顶级会议ACL 2019录用
- 验证E-mail是否正确
- webshpere缓存--JSP
- chrome插件 vscode_2020年,前端开发者必备的10个VS Code扩展插件
- python学习-递归(阶乘、汉诺塔)
- linux 查看历史打印,2019-02-01 Linux查看用户/历史命令
- php min命令,php min函数怎么用?
- CSS基础学习 18.CSS多列
- 请写一个java程序实现线程连接池功能_写一个java程序实现线程连接池的功能
- java包的基本使用
- LeetCode 58. Length of Last Word
- 66. 编写高效的 JavaScript
- 线路板板SMT贴片中二极管正负极区分方法
- 一张图带你复习《数字信号处理》、《数字电路》、《电磁场理论》
- 点击上下左右按钮让背景上下左右移动
- PhotoShop一键修改4的倍数图片工具
- oracle jpg格式导出,格式记RAW,另存或导出就是JPG格式,就这么很简单
- python pip 连接超时,使用国内源下载
- 批量图片重命名(excel、代码实现)