次のワークスペースツリーがあります。
/Directory
/Dir1/file1, file2
/Dir2/file3, file4
/Dir3/file5, file6
...
dir内の各ファイルの行数の合計を計算したいと思います。
このスクリプトはありますが、合計ではないファイルごとの行数のみを計算します。
#!/bin/bash
find . -maxdepth 1 -mindepth 1 -type d | while read dir; do
printf "%-25.25s : " "$dir"
find "$dir" -type f | while read file; do
linecount= cat $file | wc -l
echo "this file contains $linecount lnes"
done
done
ベストアンサー1
私の解決策は次のとおりです
for d in */; do
echo -n "$d : "
sum=0
for f in "$d"/*; do
if [ -f "$f" ] ; then
lines=$(wc -l "$f")
sum=$((sum+lines))
fi
done
echo $sum
done
たぶん初心者が理解しやすくなります。