我的目录结构如下所示:
.
|-five
|-four
|-one
|-seven
|-six
|-three
|-two
每个子目录中都有文件,这些文件是
uniq -c
: 的输出
./five/failures.count
./four/failures.count
./one/failures.count
./six/failures.count
./three/failures.count
./two/failures.count
./seven/failures.count
我想做的是同时获取每个文件的总数。所以我尝试做的是:
find . -name "failures.count" -exec bash -c 'echo -n "$1: "; awk \'{n+=$1} END {print n}\' $1' bash {} \;
但这在某种程度上有不平衡的报价并等待我关闭它。我想要的是
awk
命令 ({n+=$1} END {print n}
) 也用单引号引起来,以便 $1
命令中的 awk
不会扩展到文件名,这是 $1
的
bash
参数;
bash
的参数显然是单引号的,所以我不确定如何拼写它。我确实知道我无法像 echo
那样使用双引号,但正如我所说,我不确定如何操作必要的单引号来使其正常工作。
你不需要 bash
find . -name failures.count -exec awk '{n+=$1} END{print FILENAME": "n}' {} \;