代码之家  ›  专栏  ›  技术社区  ›  user1381852

流水线切割排序uniq

  •  1
  • user1381852  · 技术社区  · 7 年前

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

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

    2 回复  |  直到 7 年前
        1
  •  1
  •   user707650 user707650    7 年前

    使用

    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
    
        2
  •  0
  •   bozkurt.ykp    7 年前

    您可以使用以下命令:

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

    在你的代码中是错误的。错误是“没有这样的文件或目录”。因为管道。你可以通过这个链接了解它的使用方法

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