搞定 Linux Shell 文本处理工具,看完这篇集锦就够了(2)
eg:统计程序行数
4、sort 排序 字段说明: -n 按数字进行排序 VS -d 按字典序进行排序 -r 逆序排序 -k N 指定按第N列排序 eg:
5、uniq 消除重复行 消除重复行
统计各行在文件中出现的次数
找出重复行
可指定每行中需要比较的重复内容:-s 开始位置 -w 比较字符数 6、用tr进行转换 通用用法
tr删除字符
-c 求补集
' //删除非数字数据 tr压缩字符 tr -s 压缩文本中出现的重复字符;最常用于压缩多余的空格
字符类 tr中可用各种字符类: alnum:字母和数字 alpha:字母 digit:数字 space:空白字符 lower:小写 upper:大写 cntrl:控制(非可打印)字符 print:可打印字符 使用方法:tr [:class:] [:class:]
7、cut 按列切分文本 截取文件的第2列和第4列:
去文件除第3列的所有列:
-d 指定定界符:
cut 取的范围 N- 第N个字段到结尾 -M 第1个字段为M N-M N到M个字段 cut 取的单位 -b 以字节为单位 -c 以字符为单位 -f 以字段为单位(使用定界符) eg:
8、paste 按列拼接文本 将两个文本按列拼接到一起;
默认的定界符是制表符,可以用-d指明定界符 paste file1 file2 -d "," 1,colin 2,book 9、wc 统计行和字符的工具 wc -l file // 统计行数 wc -w file // 统计单词数 wc -c file // 统计字符数 10、sed 文本替换利器 首处替换
全局替换
默认替换后,输出替换后的内容,如果需要直接替换原文件,使用-i:
移除空白行:
变量转换 已匹配的字符串通过标记&来引用.
子串匹配标记 第一个匹配的括号内容使用标记 来引用
双引号求值 sed通常用单引号来引用;也可使用双引号,使用双引号后,双引号会对表达式求值:
当使用双引号时,我们可以在sed样式和替换字符串中指定变量;
其它示例 字符串插入字符:将文本中每行内容(PEKSHA) 转换为 PEK/SHA sed 's/^.{3}/&//g' file 11、awk 数据流处理工具 awk脚本结构
工作方式 1.执行begin中语句块; 2.从文件或stdin中读入一行,然后执行statements2,重复这个过程,直到文件全部被读取完毕; 3.执行end语句块; print 打印当前行 (编辑:ASP站长网) |