Пока очень хорошо. Все, что вам нужно сделать, это добавить селектор перед блоком, чтобы добавить сумму. Здесь мы проверяем, что первый аргумент содержит только «кузнецов»:
awk 'BEGIN {FS = "|"} ; $1 ~ /^smiths$/ {sum+=$3} END {print sum}'
Вы можете немного сократить это значение, указав разделитель полей в качестве опции. В awk
обычно рекомендуется инициализировать переменные в командной строке:
awk -F'|' '$1 ~ /^smiths$/ {sum+=$3} END {print sum}'
#!/bin/sh
topdir=/some/directory
stampfile="$HOME/.stamp"
if [ -f "$stampfile" ]; then
find "$topdir" -type f -newer "$stampfile"
fi
touch "$stampfile"
Этот небольшой сценарий будет поддерживать файл временных меток, который будет обновляться при каждом запуске сценария. Он найдет все файлы в каталоге $topdir
с отметкой времени модификации, более новой, чем файл с отметкой времени в $stampfile
.
При первом запуске этого сценария файл временных меток не будет существовать, поэтому сценарий ничего не выведет. При последующих запусках скрипт будет отображать список файлов, измененных с момента последнего запуска.