sort排序/uniq去重/cut提取
sort排序
-t # 指定排序时所用的栏位分隔字符
-n # 依照数值的大小排序
-r # 以相反的顺序来排序
-f # 排序时,将小写字母视为大写字母
-d # 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-c # 检查文件是否已经按照顺序排序
-b # 忽略每行前面开始处的空格字符
-M # 前面3个字母依照月份的缩写进行排序
-k # 指定域
-m # 将几个排序好的文件进行合并
-T # 指定临时文件目录,默认在/tmp
+<起始栏位>-<结束栏位> # 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
-o # 将排序后的结果存入指定的文
sort -n # 按数字排序
sort -nr # 按数字倒叙
sort -u # 过滤重复行
sort -m a.txt c.txt # 将两个文件内容整合到一起
sort -n -t' ' -k 2 -k 3 a.txt # 第二域相同,将从第三域进行升降处理
sort -n -t':' -k 3r a.txt # 以:为分割域的第三域进行倒叙排列
sort -k 1.3 a.txt # 从第三个字母起进行排序
sort -t" " -k 2n -u a.txt # 以第二域进行排序,如果遇到重复的,就删除
uniq去除排序过的重复行
uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。
uniq # 删除重复的行
uniq -c # 重复的行出现次数
uniq -d # 只输出重复的行
uniq -u # 只显示不重复行
uniq -i # 忽略大小写字符的不同;
cut提取
cut - 在文件的每一行中提取片断
-b, --bytes=LIST 输出 这些 字节
-c, --characters=LIST 输出 这些 字符
-d, --delimiter=DELIM 使用 DELIM 取代 TAB 做 字段(field) 分隔符
-f, --fields=LIST 输出 这些 字段
使用且只使用 -b, -c 或 -f 中的 一个 选项. LIST 由 一个 范围 (range) 或 逗号 隔开的 多个 范围 组成. 范围 是 下列 形式 之一:
N 第 N 个 字节, 字符 或 字段, 从 1 计数 起
N- 从 第 N 个 字节, 字符 或 字段 直至 行尾
N-M 从 第 N 到 第 M (并包括 第M) 个 字节, 字符 或 字段
-M 从 第 1 到 第 M (并包括 第M) 个 字节, 字符 或 字段
cat /etc/passwd | cut -c 1-4 #输出文件的前四个字符
cat /etc/passwd | cut -f1 -d ':' #以:分割文件,输出第一个字段