我有超过100个文件。我想找到具有特定值的行,wc这些行并从所有文件中获取总字数。我不知道如何为字数分配值。这就是我所拥有的,但它给出了错误的替换错误。
total=0
for f in filename*
do
currentFileCount=${grep "Cost\":25" $f | wc -l}
let total+=currentFileCount
done
echo $total
答案 0 :(得分:4)
totalcount=$(grep -c 'Cost":25' <(cat filename*))
echo $totalcount
但是,如果它是一些JSON,那么有一些更好的方法,jq
$( )
语法:total=0
for f in filename*; do
currentFileCount=$(grep 'Cost":25"' "$f" | wc -l)
total+=currentFileCount
done
echo $total
awk '/Cost":25/{total++}END{print total}' filename*