Además de la respuesta relacionada con las matrices asociativas propuesta por @Kusalananda, también se me ocurrió esto:
ENDPOINT=URL_${ENVIRONMENT^^}
MY_URL="${!ENDPOINT}"
Перебрать файлы:
for file in "$1"/* ; do
if [[ -f "$file ]] ; then
printf %s: "$file"
grep -o Author "$file" | wc -w
fi
done
Вы также можете использовать Perl:
perl -lne 'BEGIN { $c = 0 }
$c++ while /Author/g;
if (eof) { print "$ARGV: $c"; $c=0 }
' "$1"/*
Для этого можно использовать grep
. Второй grep
предназначен для фильтрации файлов, не имеющих совпадений.
grep -rc 'Author' ${1} | grep -v ':0$'
С параллельным GNU:
parallel --tag 'grep -oh Author {} | wc -w' ::: *.dat
Если есть подкаталоги:
find . -name '*.dat' | parallel --tag 'grep -oh Author {} | wc -w'