Unix sort和uniq oneliner
在unix中是否有一个文件名为sort和uniq的单行程序? 我在谷歌上搜索发现了以下内容,但它不是排序,也不确定下面的命令在做什么..使用awk或任何其他unix工具有更好的方法吗Unix sort和uniq oneliner,unix,awk,grep,Unix,Awk,Grep,在unix中是否有一个文件名为sort和uniq的单行程序? 我在谷歌上搜索发现了以下内容,但它不是排序,也不确定下面的命令在做什么..使用awk或任何其他unix工具有更好的方法吗 cut -d, -f1 file | uniq | xargs -I{} grep -m 1 "{}" file 另一方面,是否有一个可以在windows和unix中使用?这并不重要,只是检查一下 C:\Users\Chola>sort -t "@" -k2,2 email-list.txt 输入文本文件
cut -d, -f1 file | uniq | xargs -I{} grep -m 1 "{}" file
另一方面,是否有一个可以在windows和unix中使用?这并不重要,只是检查一下
C:\Users\Chola>sort -t "@" -k2,2 email-list.txt
输入文本文件:-
436485
422636
429228
427041
433414
425810
422636
431526
428808
如果文件仅包含数字,则每行一个:
sort -n FILENAME | uniq
或
(您可以将-u
添加到排序
命令中,而不是在以下所有操作中通过uniq
管道。)
如果要仅提取文件的一列,然后对该列进行数字排序以删除重复项,可以执行以下操作:
cut -f7 FILENAME | sort -n | uniq
Cut
假定列之间只有一个选项卡。如果您的文件是CSV,您可以执行以下操作:
cut -f7 -d, FILENAME | sort -n | uniq
但是,如果文件中的文本字段中有一个,
(CSV将使用“
”来保护它),那么这将不起作用
如果要按列排序,但只删除完全重复的行,则可以执行以下操作:
sort -k7,7n FILENAME | uniq
排序
假定列由空格分隔。同样,如果要使用,
分隔,可以使用:
sort -k7,7n -t, FILENAME | uniq
你到底想做什么?“For sort and uniq”不够精确…@rici-我有一个文本文件,其中列中有数字。我想对它们进行排序并删除重复项。你想提取列(它是如何分隔的?),或者你想删除完全重复的行?@rici-我在上面添加了一个示例输入..是的..完全删除重复Sok,我添加了所有通常的方法。请尽量具体地回答问题;这可以为每个人节省很多(猜测)work.f7,-k7,7n代表什么?在
cut
中,-fN
选择字段N
。在sort
中,-kN,M
使用从字段N
开始到字段M
结束的文本作为排序键(因此-k7,7
正好使用字段7)n
后缀,与-n
选项一样,意味着排序键应按数字排序。man sort
和man cut
(通常man CMD
)更详细地解释了这一切。
sort -k7,7n -t, FILENAME | uniq