長さnの行を含むファイルAがあります。 Aの各行に対して、長さnの行とそのキーを出力するプログラムがあります。プログラムは、Aの各行のキーシーケンスをファイルBに書き込むか、Aの各行についてstdoutに書き込むことができます。
個々のキーが重複しないように、Aのすべての行を取得する必要があります。これを達成する最も効率的な方法は何ですか? -kオプションがありますが、正確に私が望むことをしないようです。
編集する。コメントの説明。
A に次の行が含まれているとします。
foo
bar
baz
2番目のプログラムは、次の行の主な出力を計算します。
xxx
yyy
xxx
1行目はfooの出力、2行目はbarの出力、3行目はbazの出力です。
これで正しい出力の1つは次のようになります。
foo
bar
ベストアンサー1
あなたが指定したように(しかしあなたの質問に対するwurtelのコメントを考慮してください):
generate_keys A > B # adjust this call however that program is defined to work
awk '
NR==FNR { a[NR]=$1 ; next }
!b[$1]++ { print a[FNR] }
' A B