学习wc cut uniq sort 四个命令:
wc:wc用来显示标准输出或者输入的文件的行、单词、字节个数。
wc-l: wc –l /etc/inittab(显示行数)
wc-c: wc –c /etc/inittab(显示字节数)
wc-m: wc –m /etc/inittab(显示字符数)
wc-w: wc –w /etc/inittab(显示字节数)
wc-L: wc –L /etc/inittab(显示最长一行字节数)
cut-b:按照字节来切割这个语句(空格也算一个字符)
-b不能识别中文,在英文环境下-b和-c一样
例如:cat test.txt
I am oldboy my qq is 1234567
1、cut –b 3-4 test.txt (切割test.txt文件中第三和第四个字节:am)
2、cut –b -4 test.txt(切割test.txt文件中第四个字节之前的所有字节,包括第四个:I am)
3、cut –b 1,4- test.txt(切割test.txt文件中第一个字节和第四个字节之后的所有字节:Im oldboy my qq is 1234567)
cut –c:按照字符来切割
除了能切割中文,英文与-b相同
cut –d: 指定分隔符(默认以tab键作为分隔符)
例如:head -1 /etc/passwd (显示文件头一行)
root:x:0:0:root:/root:/bin/bash
head -1 /etc/passwd|cut –d: -f4(切割以“:”作为分隔符输出第四个区域:0)
cut –f: 指定区域,与-d连用
例如:cut –f 2-3 test.txt(以tab为分隔符)
Cat test.txt (This is tab line)查看test.tx文件
cut –f 2-3 test.txt (is tab) 切割以tab为分隔符的2-3的字符
cut –d ‘ ’ –f 2-3 test.txt (切割以空格为分隔符的字符)
cut –output-delimiter==’xx’
cut的局限性:1、-d指定分隔符不能同时指定多个;
2、不能做高级格式化输出,一般用awk。
sort 排序,默认查看第一个字符(包括数字字母以及空格和特殊符号),以ASCll码来排序(大小写不是)
sort -r 逆序
sort -n 按数字大小排序
sort -t sort -k 指定分隔符以及指定按照哪一列进行排序
sort -f 忽略字符大小
sort -u 排序去重复
uniq:连续且相同的命令,才被视为重复;
建议,先排序,后去重;
-c 统计某些字符重复的次数
-d 显示重复的行
2、练习:
取出/etc/passwd文件的第6到10行,并将这些信息按照3个字段的数值大小进行排序,最后仅仅显示各自的第一个字段。
Head /etc/passwd | tail -5 | sort –t: -k3 –n| cut –d”:” –f1 (建议自己手打)