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番目のフィールドの後のパイプを削除します。