デフォルトのシェルツール(PythonやPerlなし)を使用してこれを実行できますか?
1を入力してください:
file1.csv
John,Doe,[email protected]
Andy,Barry,[email protected]
Mary,,[email protected]
INPUT2のfile1の3番目の列で電子メールが発生した回数を計算します。
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 1 行文は、期待される結果を提供します。
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も公正なゲームだとは思わないかもしれません...