今天学习了sort, uniq, cut, paste和split命令的用法,其中sort的选项比较多一些,其它的命令就比较简单了
关于sort,本站之前写过一篇关于sort的高级用法,请点击这里
sort [OPTION]… [FILE]…
对文件按指定的域进行排序
sort -o output.txt your_file.txt #对文件按第一域进行排序,将排序结果保存到output.txt sort -t: -r +2n your_file.txt #对文件按照第2个域进行逆向排序,第二个域为数字类型,同时分割符为: df | sort -b -r -k5 #按照磁盘的占用率从高到底进行排序输出
uniq [OPTION]… [INPUT [OUTPUT]]
从文件中去除或删除重复的行,在功能上和sort -u类似
uniq sort_file.txt #删除文件中重复的行 uinq -c sort_file.txt #显示每行出现的次数 uinq -d sort_file.txt #只显示出现次数>=2的行
join [OPTION]… FILE1 FILE2
将两个排序的文件合并为一个文件
join sort_file1.txt sort_file2.txt #合并两个文件,以第一个键排序 join -j 1 1 -j 2 2 sort_file1.txt sort_file2.txt #按第一文件的第一个域和第二个文件的第二个域作为key,进行合并 join -o 1.1 , 2.2 sort_file1.txt sort_file2.txt #只显示第一个文件的第一个域和第二个文件的第二个域
cut OPTION… [FILE]…
从文件中获取指定域
cut -d: f3 file.txt #输出以:分割的第三个域 cut -d: f 1, 6 file.txt #输出以:分割的第一个和第六个域 ls -al | cut -c1-3 #显示ls输出每行的前三个字符
paste [OPTION]… [FILE]…
将文件的行进行merge
paste file1 file2 #将两个文件的每行合并 paste -d: file1 file2 #将两个文件的每行合并,分隔符为: paste -s file1 file2 #将file1的内容合并为一行,将file2的内容合并为一行
split [OPTION]… [INPUT [PREFIX]]
将文件按大小分为多份
split -20 file #将文件每20行进行一次分割