2024年11月Linux Shell文本处理命令汇总(5)

发布时间:

  ⑴p=patten

  ⑵r=replaced

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

  ⑷$》line con a replaced

  ⑸•其它示例

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

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

  ⑻awk 数据流处理工具

  ⑼•awk脚本结构

  ⑽awk ‘ BEGIN{ statements } statements END{ statements } ‘

  ⑾•工作方式

  ⑿.执行begin中语句块;

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

  ⒁.执行end语句块;

  ⒂print 打印当前行

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

  ⒄echo -e “line

  ⒅line” | awk ‘BEGIN{print “start”} {print } END{ print “End” }’

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

  ⒇echo | awk ‘ {var = “v” ; var = “V”; var=“v”;

  ⒈print var, var , var; }’

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

  ⒊echo | awk ‘ {var = ”v“ ; var = ”V“; var=”v“;

  ⒋print var”-“var”-“var; }’

  ⒌特殊变量: NR NF $ $ $

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

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

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

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

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

  ⒒echo -e ”line f f

  ⒓line “ | awk ‘{print NR”:“$”-“$”-“$}’

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

  ⒕awk ‘{print $, $}’ file

  ⒖•统计文件的行数:

  ⒗awk ‘ END {print NR}’ file