!['文字を使用せずにテキストファイルの列平均を計算するにはどうすればよいですか? [閉鎖]](https://linux33.com/image/63044/'%E6%96%87%E5%AD%97%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%9B%E3%81%9A%E3%81%AB%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%88%97%E5%B9%B3%E5%9D%87%E3%82%92%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
文字を使わずにこれを行う必要があります'
。
私はこれを行うことができます:
awk '{sum+=$5} END { print "Average = ",sum/NR}'
ここでは '
。
答え1
(二重引用符)は必要ありません。 sをエスケープする必要がない限り、''
弱い形式を使用できます。""
"
awk "{sum+=\$5} END { print \"Average = \",sum/NR}"
しかし、なぜ?
答え2
シェルがそれをサポートしている場合は、次のものを使用できます。ここのドキュメント標準入力からコマンドを読み取り、引用符で囲まれた区切り文字を使用してシェルがawk変数を拡張するのを防ぐ$5
awk -f- somefile << "EOF"
{sum+=$5} END { print "Average = ",sum/NR}
EOF
または、単にファイルにコマンドを入れて実行してください。それそしてawk -f
。