分割と印刷

分割と印刷

50,000行のタブで区切られたテキストファイルがあります。最初の列を分割して出力.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/\|//'

つまり、パイプの前にある3つのグループを削除し、2番目の置換コマンドは4番目のフィールドの後のパイプを削除します。

関連情報