文本处理工具

1.排序文本
   sort将输入看作具有多条记录的数据流,所谓记录就是以换行字符作为定界符的字串,而字段则是以空白字符或是用户指定的单个字符。sort 使用-k选项指定排序字段,并使用-t选项来选择字段定界符。默认空白分隔(记录内开头与结尾的空白都被忽略)。
   -k的用法有:-k1(自该字段的起始到记录的结尾); -k1,1(仅以第一个字段);-k2.4(从第二字段的第四个字符开始);-k1nr(从第一个字段的起始到记录的结尾,但以把反向(从大到小)排序)
   下面是常用的sort排序键值字段的类型:
   b 忽略开头的空白
   d 字典顺序
   f 不区分字母的大小写
   g 以一般的符点数字进行比较,只适用于GNU版本
   i 忽略无法打印的字符
   n 以(整数)数字比较
   r 倒置排序的顺序

 

   在字符排序中,字符常常会出现本地化,所以有必须知道字符值。可通过man io_8859_1查看字符值。也可通过八进制打印工具:od,可用ASCII和八进制显示单词。

 

2 删除重复
   uniq 提供一种过滤数据的方法,用于删除已使用sort排序完成的重复记录。

   常用的有3个选项: -c可在每个输出行之前加上该行重复的次数。 -d用于仅显示重复的行。 -u仅显示未重复的行。

3重新格式化段落
   fmt 并非POSIX标准,但GNU是支持的,可通过coreutils包安装。
   有两个选项常用: -s仅切割较长的行,但不会将短行结合成较长的行。-w n 则设置输出行宽度为n个字符(默认通常约75个左右)。

4计算行数、字数以及字符数
   wc 默认输出是一行报告,包括行数、字数以及字节数。
   -c 选项原来是表示字符数,但因为有多字节字符集的编码存在(UTF-8),因此在当前系统上,字节数已经不再等同于字符数,POSIX使用-m选项计算多字节字符。-l 计算行数。-w 计算字数。
  
5打印
   BSD系统仅支Berkeley风格,POSIX只定义了lp命令。
   Berkeley            System V            用途
     lpr          lp               传送文件到打印队列
     lprm          cancel       从打印队列中删除文件
     lpq          lpstat       报告队列状态
6提取开头或结尾数行
   提取开头方法:
   head -n n files
   head -n   files
   awk 'FNR <= n' files
   sed -e nq (或忽略 -e:sed nq) files

   提取结尾:
   tail -n n  file
   tail -n
  
7 一些常用工具
   dd 以用户指定的块大小与数量拷贝数据,可进行大小写转换,以及ASCII与EBCDIC间的转换。
   iconv 可以将文件从一种编码集转换成另一种更具灵活性的字码集。
   file 将其参数文件内容的前几个字节,与样式数据库进行比对,再在标准输出下,针对各文件显示一行简短报告。
   strings 针对输入数据查找以换行符号或NUL结尾的四个(或以上)可打印字符的序列,再将结果打印到标准输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值