История изменений
Исправление intelfx, (текущая версия) :
Гм? Это не скрипт, это однострочник. Прочти уже man bash, в конце концов.
#!/bin/bash
REGEX="$1"
EXTENSIONS=( mp3 flac ) # допиши сам
BASEDIR="$HOME/Музыка"
FIND_ARGS=( find "$BASEDIR" -type f '(' )
for ext in "${EXTENSIONS[@]}"; do
FIND_ARGS+=( -iname "*.$ext" -or )
done
FIND_ARGS[${#FIND_ARGS[@]} - 1]=')' # remove last -or, add closing parenthesis
FIND_ARGS+=( -regextype posix-egrep -regex "$REGEX" )
"${FIND_ARGS[@]}"
Согласно man 1 find, регулярное выражение будет сопоставляться с полным путём к файлу, а не только с его именем (т. е. использовать ^
не стоит).
Исправление intelfx, :
Гм? Это не скрипт, это однострочник. Прочти уже man bash, в конце концов.
#!/bin/bash
REGEX="$1"
EXTENSION="${2:-mp3}"
BASEDIR="$HOME/Музыка"
find "$BASEDIR" -iname "*.$EXTENSION" -regextype posix-egrep -regex "$REGEX"
Согласно man 1 find, регулярное выражение будет сопоставляться с полным путём к файлу, а не только с его именем (т. е. использовать ^
не стоит).
Исходная версия intelfx, :
Гм?
#!/bin/bash
REGEX="$1"
EXTENSION="${2:-mp3}"
BASEDIR="$HOME/Музыка"
find "$BASEDIR" -iname "*.$EXTENSION" -regextype posix-egrep -regex "$REGEX"
Согласно man 1 find, регулярное выражение будет сопоставляться с полным путём к файлу, а не только с его именем (т. е. использовать ^
не стоит).