Как проверить, совпадает ли имя какого-либо файла с некоторым шаблоном (например, в нем есть «SSS») в разделе `if`?
Как проверить, совпадает ли имя какого-либо файла с некоторым шаблоном (например, в нем есть «SSS») в if
? Мой вариант, похоже, не работает (это всегда неверно).
for f in B/* ; do if [ $f = .*SSS.* ] ; then # if [ -f $f ] -and -regex ".*SSS.*"; then echo $f fi done
- Как запустить диалог свойств файла из командной строки?
- Linux shell, сохранить задачу в течение определенного времени
- Что делает «источник»?
- Баш Шебанг для чайников?
- Как я «глобализую» двоичные файлы в Linux?
- Терминальный эмулятор с разделенными панелями для Mac OSX
- Корректировка содержимого текстового файла как команды telnet
- Как сделать разрешение на новый файл наследованием из родительского каталога?
- Вызовите рабочий процесс
- Что эквивалентно корню в Windows 8.1 и как я могу открыть оболочку в этом контексте?
- Shell scripting: способ анализа параметров из командной строки
- Удаление дубликатов файлов, сохранение только самого нового файла
- Как я могу заставить Linux правильно интерпретировать клавиатурные символы?
Вам нужны двойные скобки, и нет. (Shell globbing no sed regex)
for f in B/* ; do if [[ $f = *SSS* ]] ; then echo $f fi done
Немного google дает вам https://stackoverflow.com/questions/2348379/use-regular-expression-in-if-condition-in-bash