
これを基本的なシェルツール(Python や Perl なし)で動作させることはできますか?
入力1:
file1.csv
John,Doe,[email protected]
Andy,Barry,[email protected]
Mary,,[email protected]
INPUT2の3列目、ファイル1からの電子メールの出現回数をカウントします。
file2.log
[email protected]&fghfgh
asdda&[email protected]
[email protected]&werewr
希望する出力:
result.csv
John,Doe,[email protected],0
Andy,Barry,[email protected],2
Mary,,[email protected],1
本当にありがとう!
答え1
有効な入力が提供されなかったため、これを使用しました:
John,Doe,[email protected]
Andy,Barry,[email protected]
Mary,,[email protected]
次の awk ワンライナーは期待される結果を与えます:
awk -F, '{l[NR]=$0;f[NR]=$3;c[$3]++}END{for(i=1;i<=NR;i++)print l[i] "," c[f[i]]}'
ここでの問題は、タスクが2回のパスを必要とすることです。(f[]は、コンテンツ全体を解析したままにしたり、最後に再解析したりすることを避けるための便利な機能です。)しかし、なぜPythonやPerlを除外したのか理解できません(は基本的なシェル ツール) なので、おそらく awk も対象ではないと思われます...