系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > Linux Shell文本处理命令

Linux Shell文本处理命令汇总(5)

时间:2014-12-31 15:50:39 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20141231/33843.html 手机查看 评论

  代码如下:

  eg:

  p=patten

  r=replaced

  echo “line con a patten” | sed “s/$p/$r/g”

  $》line con a replaced

  •其它示例

  字符串插入字符:将文本中每行内容(PEKSHA)转换为 PEK/SHA

  代码如下:

  sed ‘s/^.\{3\}/&\//g’ file

  awk 数据流处理工具

  •awk脚本结构

  awk ‘ BEGIN{ statements } statements2 END{ statements } ‘

  •工作方式

  1.执行begin中语句块;

  2.从文件或stdin中读入一行,然后执行statements2,重复这个过程,直到文件全部被读取完毕;

  3.执行end语句块;

  print 打印当前行

  •使用不带参数的print时,会打印当前行;

  代码如下:

  echo -e “line1\nline2” | awk ‘BEGIN{print “start”} {print } END{ print “End” }’

  •print 以逗号分割时,参数以空格定界;

  代码如下:

  echo | awk ‘ {var1 = “v1” ; var2 = “V2”; var3=“v3”; \

  print var1, var2 , var3; }’

  $》v1 V2 v3

  •使用-拼接符的方式(”“作为拼接符);

  代码如下:

  echo | awk ‘ {var1 = ”v1“ ; var2 = ”V2“; var3=”v3“; \

  print var1”-“var2”-“var3; }’

  $》v1-V2-v3

  特殊变量: NR NF $0 $1 $2

  NR:表示记录数量,在执行过程中对应当前行号;

  NF:表示字段数量,在执行过程总对应当前行的字段数;

  $0:这个变量包含执行过程中当前行的文本内容;

  $1:第一个字段的文本内容;

  $2:第二个字段的文本内容;

  代码如下:

  echo -e ”line1 f2 f3\n line2 \n line 3“ | awk ‘{print NR”:“$0”-“$1”-“$2}’

  •打印每一行的第二和第三个字段:

  代码如下:

  awk ‘{print $2, $3}’ file

  •统计文件的行数:

  代码如下:

  awk ‘ END {print NR}’ file

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录