免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1833 | 回复: 4
打印 上一主题 下一主题

[文本处理] wuyv --awk [复制链接]

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2018-03-15 17:08 |只看该作者 |倒序浏览
本帖最后由 1cpuer 于 2018-03-15 17:09 编辑

# [ /home/soio/1bs/awks ] {2018-03-15 17:04:30} : 1521104670:0;
# ༺ ༻   # ➜  cat t1-1;cat ti-2         
#1 ab1
#2 abc2
#3 abcd3

#1 ef1
#2 efg2
#3 efgh3


##xianzheyan##不可以sort有其他行         

#1 ab1
#1 ef1
#2 abc2
#2 efg2
#3 abcd3
#3 efgh3







论坛徽章:
0
2 [报告]
发表于 2018-03-16 01:13 |只看该作者
# awk 'NR==FNR{a[$1]=$2; next} { if ($1 in a){b[$1] = $2}} END {for (i in a){ print i,a[i]; print i, b[i]   }}' /tmp/1 /tmp/2
#1 ab1
#1 ef1
#2 abc2
#2 efg2
#3 abcd3
#3 efgh3

论坛徽章:
25
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之上海
日期:2018-12-11 09:45:3219周年集字徽章-年
日期:2020-04-18 23:54:5215-16赛季CBA联赛之深圳
日期:2020-04-19 21:40:19黑曼巴
日期:2022-04-03 17:55:1315-16赛季CBA联赛之八一
日期:2018-07-03 16:56:46
3 [报告]
发表于 2018-03-16 13:19 |只看该作者
回复 1# 1cpuer


  1. awk 'FILENAME==ARGV[1]{a[$1]=$0;next}{$0=a[$1]?a[$1]"\n"$0:$0}1' 1 2
复制代码

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
4 [报告]
发表于 2018-03-16 13:59 |只看该作者
本帖最后由 1cpuer 于 2018-03-16 14:04 编辑

回复 3# wh7211
FILE SPACING:

  # double space a file
-> sed G
-> awk '$0=$0 ORS'  or awk '1{print ""}' or: awk -vORS="\n\n" '1'

  # double space a file which already has blank lines in it. Output file

  # should contain no more than one blank line between lines of text.
-> sed '/^$/d;G'
-> awk NF ORS='\n\n'

  # triple space a file
##如上是 f1.xy
## -> 的行没打印出 #
#
#
# ༺ ༻   # ➜  sed -n '1,4p' f3.xy
3 #双空间的文件
7 #双空间已在这空白的线文件。输出文件
9 #应包含不超过一个空白行行文字之间。
13 #三空间文件




# [ /home/soio/1bs/awks ] {2018-03-16 13:50:57} : 1521179457:0;
# ༺ ༻   # ➜  awk 'FILENAME==ARGV[1]{a[$1]=$0;next}{$0=a[$1]?a[$1]"\n"$00}1' <(cat -n f1.xy) f3.xy
     3      # double space a file
3 #双空间的文件
     7      # double space a file which already has blank lines in it. Output file
7 #双空间已在这空白的线文件。输出文件
     9      # should contain no more than one blank line between lines of text.
9 #应包含不超过一个空白行行文字之间。

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
5 [报告]
发表于 2018-03-18 13:30 |只看该作者
回复 2# csccyab

# [ /home/soio/1bs/awks ] {2018-03-18 13:22:22} : 1521350542:0;
# ༺ ༻   # ➜  awk 'NR==FNR{a[$1]=$0; next} { if ($1 in a){b[$1]=$0}} END {for (i in a){ print a"\n"b }}' <(cat -n f1.xy) f3.xy ## ole
   299      # delete duplicate, nonconsecutive lines from a file. Beware not to
299 #删除复制,从一个文件中不连续的线。注意不要
   300   

   301      # overflow the buffer size of the hold space, or else use GNU sed.
301 #溢出保留空间的缓冲器的大小,否则使用GNU sed。
   302    -> sed -n 'G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P'

   303    -> awk '!a[$0]++'

   304   

   305      # delete all lines except duplicate lines (emulates "uniq -d").
305 #删除重复行的所有行(模仿“ uniq -d”)。
   306    -> sed '$!N; s/^\(.*\)\n\1$/\1/; t; D'

   307    -> awk '!(a[$0]++-1)'

   308   

   309      # delete the first 10 lines of a file
309 #删除一个F的前10行
##行啊!##########截取 299-309 的段落

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP