分割并打印

分割并打印

我有 50,000 行制表符分隔的文本文件。我想拆分第一列并按 output.txt 中所示进行打印

输入.txt

rt|371443144|mb|MN556661.1|  2200443     A
rt|371443344|mb|MN556645.1|  2594155     A
rt|371467899|mb|MN555666.1|  2594175     A

输出.txt

MN556661.1   2200443     A
MN556645.1   2594155     A
MN555666.1   2594175     A

答案1

另一种选择cut是:

cut input.txt -d'|' -f4-5 --output-delimiter='' >> output.txt

顺便说一句,您在问题中提到它是制表符分隔的,但我将此处|作为分隔符。

答案2

cat input.txt | awk -F\| '{print $4      $5    $6}' >> output.txt

答案3

你可以使用 GNU sed 这样做:

sed -r 's/([^|]+\|){3}//; s/\|//'

即删除前面有管道的三个组,第二个替换命令删除第四个字段之后的管道。

相关内容