繁体   English   中英

流水线切割排序uniq

[英]Pipelining cut sort uniq

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

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

削减工作的目的是从第二个字段中提取数字,但是当尝试将数字排序到一个新文件或同一文件中时,我只是一片空白。 我尝试将管道分成几部分,但仍然遇到相同的错误。 我打算使用这三个功能来实现输出计数。

采用

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

在原始代码中,您将cut的输出重定向到field2.txt ,同时尝试将输出通过管道传递到sort 那是行不通的(除非您使用tee )。 可以将命令分开作为单独的命令(例如,使用; ),也可以不要将输出重定向到文件。

同上,在第二部分中,您将输出写入sortedfield2.txt ,因此最终没有stdoutstdout ,也没有stdoutuniq

因此,替代方法可能是:

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

您可以使用以下命令:

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

在您的代码中是错误的。 错误是“没有这样的文件或目录”。 因为管子。 您可以在此链接上了解其用法

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM