如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相关推荐

  1. 几个常用的文本处理shell 命令:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk

    内容目录: find 文件查找 grep 文本搜索 xargs 命令行参数转换 sort 排序 uniq 消除重复行 用tr进行转换 cut 按列切分文本 paste 按列拼接文本 wc 统计行和字符 ...

  2. 四剑客查找字符_linux 四剑客 find 、grep、sed、awk整理

    linux 四剑客 find .grep.sed.awk整理 find 主要是用于查找Linux 操作系统的某个文件.目录所在路径,查找出满足条件的文件或者目录的路径 find / -name *.r ...

  3. linux命令 三大利器,awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一...

    awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...

  4. 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 ...

  5. Shell程序设计 | 文本处理工具 :正则表达式、grep、sed、awk

    文章目录 正则表达式 grep sed awk 其它常用工具 cut sort uniq tr 常见面试题 第十行 有效电话号码 统计词频 转置文件 要想使用这些流式处理工具,那么就必须得了解正则表达 ...

  6. Linux文本处理三剑客(awk、grep、sed)

    目录 grep 简介 实际使用 小结 sed awk 名字由来 强大的文本处理工具 语法 域 模式&动作 结合正则 复合表达式 printf 格式化输出 内置变量 内置函数 awk脚本 gre ...

  7. 【Shell牛客刷题系列】SHELL1 统计文件的行数:学习wc命令和文本三剑客awk、grep、sed命令

    该系列是基于牛客Shell题库,针对具体题目进行查漏补缺,学习相应的命令. 刷题链接:牛客题霸-Shell篇. 该系列文章都放到专栏下,专栏链接为:<专栏:Linux>.欢迎关注专栏~ 本 ...

  8. 系统特殊符号、通配符号、正则符号、find、grep、sed、awk命令(总结)

    目录 一.常见系统特殊符号 (一)基础符号系列 1)美元符号  $ 2)叹号符号  ! 3)竖线符号  | 4)井号符号  # (二)引号符号系列 (三)定向符号系列 (四)路径符号系列 (五)逻辑符 ...

  9. Linux之四剑客:find、sed、grep、awk

    目录 find 查找方式 1.按名字查找 2.按目录查找 3.按权限查找 4.按类型查找 (b/d/c/p/l/f ) 5.按属主及属组 6.按时间查找 7.按文件新旧 8.按大小查找 sed 1.打 ...

  10. Linux正则表达式、grep、sed、awk简单使用

    文章目录 正则表达式 元字符 扩展元字符 POSIX字符类补充 使用案例 grep grep的正则表达式 grep使用案例 sed sed使用详解 sed使用方法 sed命令 sed和正则表达式 基本 ...

最新文章

  1. Redis 服务器管理相关命令
  2. 李彦宏的文字游戏:百度10篇论文被自然语言处理顶级会议ACL 2019录用
  3. 验证E-mail是否正确
  4. webshpere缓存--JSP
  5. chrome插件 vscode_2020年,前端开发者必备的10个VS Code扩展插件
  6. python学习-递归(阶乘、汉诺塔)
  7. linux 查看历史打印,2019-02-01 Linux查看用户/历史命令
  8. php min命令,php min函数怎么用?
  9. CSS基础学习 18.CSS多列
  10. 请写一个java程序实现线程连接池功能_写一个java程序实现线程连接池的功能
  11. java包的基本使用
  12. LeetCode 58. Length of Last Word
  13. 66. 编写高效的 JavaScript
  14. 线路板板SMT贴片中二极管正负极区分方法
  15. 一张图带你复习《数字信号处理》、《数字电路》、《电磁场理论》
  16. 点击上下左右按钮让背景上下左右移动
  17. PhotoShop一键修改4的倍数图片工具
  18. oracle jpg格式导出,格式记RAW,另存或导出就是JPG格式,就这么很简单
  19. python pip 连接超时,使用国内源下载
  20. 批量图片重命名(excel、代码实现)

热门文章

  1. 算法导论——lec 10 图的基本算法及应用
  2. [置顶] mmog游戏开发之业务篇
  3. IT部门在企业信息化中的转变
  4. 构建动态域名解析系统DDNS
  5. 微软开发x86模拟器,让Windows for ARM能运行x86应用
  6. 控制网页的Panel是否显示
  7. c# 线程间操作无效: 从不是创建控件“”的线程访问它,用托管来解决
  8. biztalk 2010 映射
  9. Ghost XP基本介绍
  10. 使用Vue.js进行数据绑定以及父子组件传值