Linux

如何在不使用’字元的情況下平均文本文件中的列?

  • April 15, 2015

我需要在不使用'角色的情況下做到這一點。

我可以這樣做:

awk '{sum+=$5} END { print "Average = ",sum/NR}'

除了這包含一個 '.

你不需要''(強引號),你可以使用較弱的形式"",除非你需要轉義"s.

awk "{sum+=\$5} END { print \"Average = \",sum/NR}"

但為什麼?

如果您的 shell 支持它,您可以使用here 文件從標準輸入中讀取命令,並使用帶引號的分隔符來防止 awk 變數的 shell 擴展$5

awk -f- somefile << "EOF"
{sum+=$5} END { print "Average = ",sum/NR}
EOF

或者只是將命令放在一個文件中並使用awk -f.

引用自:https://unix.stackexchange.com/questions/196447