Не забудьте включить репозиторий сообщества, отредактировав /etc/apk/repositories
, а затем используя:
apk update
apk add audacity
Как минимум, вам нужно включить ALSA, иначе все входы и выходы в Audacity будут отображаться как пустые. Следуйте этим инструкциям:
bash -c 'grep ${grepOptions+$grepOptions} ....'
Проблема в том, что вы хотите использовать GrepOptions
массив в качестве переменной среды в своем коде. Вы не можете этого сделать, так как массивы нельзя экспортировать.
Вместо этого вам нужно будет передать параметры в свой bash -c
скрипт вместе с путем, который вы хотите запустить grep
.
Ниже я пошел немного дальше и также передал регулярное выражение и несколько найденных путей, и я делаю это из -exec
в find
, а не с xargs
.
Я использую --
в вызове скрипта bash -c
, чтобы отделить пользовательские параметры от путей.
find. -name '*.md' -type f -exec bash -c '
re=$1; shift
while [[ $1 != "--" ]]; do
opts+=( "$1" )
shift
done; shift
for pathname do
printf "%s:" "$pathname"
grep -o -E -e "$re" "${opts[@]}" -- "$pathname" |
wc -l | tr -d "[:blank:]"
done | grep -v ":0$"' bash "$user_regex" "${user_options[@]}" -- {} + |
sort -t : -k2,2n
Это находит все обычные файлы с суффиксом имени файла .md
в текущем каталоге или ниже. Для пакетов таких файлов выполняется сценарий bash
, который принимает предоставленное пользователем -расширенное регулярное выражение ($user_regex
), некоторые предоставленные пользователем -опции для команды grep
($user_options
, массив )вместе с набором путей.
Сценарий строки -выбирает регулярное выражение и пользовательские параметры, а затем переходит к циклу по найденным файлам, запуская grep
для каждого и подсчитывая количество возвращенных строк.
Имя пути каждого файла выводится с этим номером в конце после символа :
.
Вывод, указывающий на отсутствие совпадений, отсеивается, а общий результат сортируется.
Из-за того, как этот код обрабатывает имена путей, он не будет поддерживать имена путей, содержащие символы новой строки или двоеточия. Массив user_options
также не может содержать одиночное двойное тире.