ヘッダと印刷の修正

ヘッダと印刷の修正

私のタイトルは">"で始まり、最初の単語を保持し、output.txtに表示されている他の単語を削除してタイトルを修正して印刷したいと思います。

入力.txt

>AGAJ01065549.1 scaffold:Xipmac4.4.2:AGAJ01065549.1:1:500:1 REF
CGCCAGGTGTCTGGCGTAATAGCGCCAGCGCCAGGTGTCATATACGTAATAGCGCCAGGT
>RGAMMT01065456.1 scaffold:Xipmac4.4.2:AGAJ01065595.1:1:500:1 REF
GACTAGTTTTTACATATAGTAATGGTTATTCGGAAGTGTACAGACGTTTTCAGGTTTTTT
TTTGGTAGGGGTTGAGGTGTTGAGGTGAGGGGACTATGTGGAGGGAACTTTCCATAGAGG

出力.txt

>AGAJ01065549.1 
CGCCAGGTGTCTGGCGTAATAGCGCCAGCGCCAGGTGTCATATACGTAATAGCGCCAGGT
>RGAMMT01065456.1 
GACTAGTTTTTACATATAGTAATGGTTATTCGGAAGTGTACAGACGTTTTCAGGTTTTTT
TTTGGTAGGGGTTGAGGTGTTGAGGTGAGGGGACTATGTGGAGGGAACTTTCCATAGAGG

答え1

これはあなたに役立ちます(GNU sed):

sed -i '/^>/s/\s.*//' file

答え2

awkを介してテキストをパイピングするだけです。

awk '{print $1}' input.txt

これにより、各行の最初の項目(スペースで区切られた項目)が印刷されます。

答え3

似ているを使って答えawkcut:

cut -d' ' -f 1 input.txt > output.txt

この-dオプションは区切り文字を空白に設定し、-f最初のフィールドを選択します。

ただし、以下を使用することもできますsed

sed 's,^\([^ ]\+\) .*,\1,' input.txt > output.txt

このコマンドは式を置き換えます。行の先頭を見つけ、各文字を空でないバッファにコピーします。また、スペースやその他の文字とも一致します。sedこの行をバッファの内容に置き換えます。

関連情報