0

列間に区切り文字のないファイルを持つ:

cat file_no_del 
 aba14092999140932436
 aba1111478991111484975
 aba1111973668111975690

元のファイルからこれらの行を抽出する方法 (列間の区切り記号付き)? そして、列が区切られた新しいファイルに保存しますか?

cat original_file
 aba1   40929991    40932436
 aba1   100496122   100501188
 aba1   101708714   101709305
 aba1   111478991   111484975
 aba1   111973668   111975690

cat wanted_output
 aba1   40929991    40932436
 aba1   111478991   111484975
 aba1   111973668   111975690

私は次のようにすることが可能かもしれないと考えていました:

for i in $(sort orginal_file); do awk '{print $1$2$3}' $i | grep -w - file_no_del

しかし、私は awk に問題があり、グルプした後、区切り形式にループに戻る方法がわかりません。
誰かがこれで私を助けてくれることを願っています。

4

1 に答える 1

2

が十分に小さい場合file_no_delは、次のようにします。

awk 'NR==FNR{ a[$0]++ } NR!=FNR && a[$1 $2 $3]' file_no_del original_file
于 2013-02-03T17:49:06.377 に答える