sort,uniq,wc,awk命令 (数据整理

sort命令

功能:

sort 可针对文本文件的内容,以行为单位来排序

sort 命令将以默认的方式将文本文件的第一列以 ASCII 码的次序从小到大排列,
并将结果输出到标准输出。

 语法:

标识符:

-r 以相反的顺序来排序。

-n 依照数值的大小排序。

-f 排序时,将小写字母视为大写字母。

-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

  具体应用:

使用 -k <行数: num>
$ cat testfile      # testfile文件原有排序  
test 30  
Hello 95  
Linux 85 

$ sort testfile # 重排结果  
Hello 95  
Linux 85  
test 30 


$ sort testfile -k 2
test 30  
Linux 85 
Hello 95  

 uniq命令

 功能:

uniq 可检查文本文件中重复出现的行列。


uniq -u 正确工作,输入数据必须是排序好的
因为 uniq 只检查相邻的行来确定重复

 语法:

格式:

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

标识符: 

-c或--count 在每列旁边显示该行重复出现的次数。

-d或--repeated 仅显示重复出现的行列。

-f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。

-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。

-u或--unique 仅显示出一次的行列。

-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。

 具体应用:

uniq -c testfile 
结果输出如下:
 
$ uniq -c testfile      #删除重复行后的内容  
3 test 30             #前面的数字的意义为该行共出现了3次  
4 Hello 95            #前面的数字的意义为该行共出现了4次  
2 Linux 85            #前面的数字的意义为该行共出现了2次 

wc命令:

功能:

wc指令我们可以计算文件的Byte数、字数、或是列数

语法:

格式:

wc [-clw][--help][--version][文件...]

标识符:

-c或--bytes或--chars 只显示Bytes数。

-l或--lines 显示行数。

-w或--words 只显示字数。

awk

格式:

awk 程序接受一个模式串(可选),以及一个代码块,指定当模式匹配时应该做何种操作。

默认当模式串即匹配所有行

eg.    awk '/bob/ {print $0}' data.txt

/bob/ 是模式串,匹配包含 "bob" 的行。
{print $0} 是代码块,打印匹配行的整个内容。

参数:

在代码块中,$0 表示整行的内容,$1 到 $n 为一行中的 n 个区域,
区域的分割基于 awk 的域分隔符(默认是空格,可以通过 -F 来修改)

eg.    awk  -F","  '{print $2"\t"$3  }'  form.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值