流水线切割排序uniq

时间:2017-08-16 03:05:34

标签: linux sorting pipeline cut uniq

尝试从sam文件中获取某个字段,对其进行排序,然后在文件中查找唯一编号的数量。我一直在努力:

cut -f 2 practice.sam > field2.txt | sort -o field2.txt sortedfield2.txt |  
uniq -c sortedfield2.txt

剪切正在努力从第二个字段中提取数字,但是当尝试将数字排序到新文件或同一个文件时,我只是得到一个空白。我已经尝试将管道分成几个部分,但仍然得到相同的错误。我打算使用这三个函数来实现输出计数。

2 个答案:

答案 0 :(得分:0)

使用

cut -f 2 practice.sam | sort -o | uniq -c

在原始代码中,您将cut的输出重定向到field2.txt,同时尝试将输出传输到sort。这不起作用(除非你使用tee)。将命令分离为单独的命令(例如,使用;)或不将输出重定向到文件。

同样在下半场,您将输出写入sortedfield2.txt,最终没有任何内容转到stdout,并且没有任何内容被导入uniq

所以另一种选择可能是:

cut -f 2 practice.sam > field2.txt ; sort -o field2.txt sortedfield2.txt ; uniq -c sortedfield2.txt

相同
cut -f 2 practice.sam > field2.txt 
sort -o field2.txt sortedfield2.txt 
uniq -c sortedfield2.txt

答案 1 :(得分:0)

您可以使用此命令:

cut -f 2 practise.sam | uniq | sort > sorted.txt

在你的代码中是错误的。错误是“没有这样的文件或目录”。因为管道。您可以在此链接中了解如何使用

https://www.guru99.com/linux-pipe-grep.html