Подсчитайте сумму вывода команды wc -l

Согласно вашему комментарию Vlastimil, вы можете использовать параметр -o в своей команде ssh. Примером может быть

ssh -o ServerAliveInterval=60 -i aws.pem username@remoteserver "./downloadScript.sh"
0
23.03.2020, 17:32
2 ответа

Мое решение было бы:

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

Возможно, немного понятнее для новичка.

1
28.04.2021, 23:19

Минимизация количества wcвызовов:

find /Directory -type d -print0 | while read -d '' dir; do
    echo -n "$dir: "
    find "$dir" -type f -exec wc -l {} + | sed -n 's/\([0-9]\{1,\}\) total/\1/p' | paste -sd+ | bc
done
0
28.04.2021, 23:19

Теги

Похожие вопросы