Я пытаюсь извлечь данные из файлов трассировки и вычислить сумму. Для одного файла работает следующая команда:
cat avg.txt| gawk '{T+=$1} END {print T "\n"}'
Но когда я пытаюсь использовать его с командой xargs, поскольку мне приходится выполнять одну и ту же операцию с несколькими файлами, я получаю синтаксическую ошибку.
ls *avg* | xargs -i sh -c " cat {} | gawk '{T+=$1} END {print T "\n"}'"
gawk: {T+=} END {print T n}
gawk: ^ синтаксическая ошибка
Может ли кто-нибудь сказать мне, в чем проблема?
sh -vxc "...
, чтобы вы могли видеть, что он обрабатывается оболочкой. Кроме того, избегайте вашего awk\$1
. Удачи. - person shellter   schedule 06.06.2014