ファイルのテキストを置き換えたいです。

ファイルのテキストを置き換えたいです。

私のファイルは次のとおりです。

NODE_13_length_50291_cov_8.067223 GTTGCCTAATATCGCCAATCCAGCTCCT
NODE_25_length_22118_cov_8.258986 TATCGCCAATCCAGCTCCT
NODE_36_length_15273_cov_5.283743 TGCCTAATATCGCCAATCCAG

私はそれを次のように変更したいと思います:

NODE_13 GTTGCCTAATATCGCCAATCCAGCTCCT
NODE_25 TATCGCCAATCCAGCTCCT
NODE_36 TGCCTAATATCGCCAATCCAG

可能であれば、次のログファイルも作成したいと思います。

NODE_13_length_50291_cov_8.067223   NODE_13
NODE_25_length_22118_cov_8.258986   NODE_25
NODE_36_length_15273_cov_5.283743   NODE_36

これにはどのコマンドが適用されますか?

とても感謝しています。

ベストアンサー1

最初の部分では、次のことを試すことができます。

sed 's/_length.*[[:blank:]]\([ACGT]*\)$/ \1/' file

出力:

NODE_13 GTTGCCTAATATCGCCAATCCAGCTCCT
NODE_24 TATCGCCAATCCAGCTCCT
NODE_36 TGCCTAATATCGCCAATCCAG

2番目の部分の場合:

sed 's/\(^NODE_[0-9]*\)\(_.*\) [ACGT]*$/\1\2 \1/'

出力:

NODE_13_length_50291_cov_8.067223 NODE_13
NODE_24_length_22118_cov_8.258986 NODE_24
NODE_36_length_15273_cov_5.283743 NODE_36

おすすめ記事