以下のようなファイルがあります
AT AT AG AG
GC GC GG GC
すべての列の最初と最後の文字を抽出したい n 2 つの異なるファイルに保存する
ファイル1:
A A A A
G G G G
ファイル 2:
T T G G
C C G C
入力ファイルが非常に大きいです。awkまたはsedでできる方法はありますか
gensub() の GNU awk を使用する場合:
gawk '{
print gensub(/.( |$)/,"","g") > "file1"
print gensub(/(^| )./,"","g") > "file2"
}' file
gsub() といくつかの変数を使用して、任意の awk で同様のことができます。
2 つのパスで簡単に実行できます。
sed 's/\([^ ]\)[^ ]/\1/g' file > file1
sed 's/[^ ]\([^ ]\)/\1/g' file > file2
1回でやるのは大変…。