У меня есть каталог со многими вложенными подкаталогами и файлами.
Мне бы хотелось: список всех файлов, имя которых не содержит определенной строки.
Файл примера Структура:
foo/
foo/bar/foobar.txt
foo/foo/foobartest.txt
foo/foobartest.txt
Если я введу свой запрос с помощью строки «test», он должен вернуться только /foo/bar/foobar.txt
Предположим, вы бы использовали find с некоторым регулярным выражением? [ ! d4]
Большое спасибо за вашу помощь!
Если вы хотите получить
список всех файлов, чье имя не содержит определенную строку, вам нужно пойти примерно так:
find foo/ -type f -exec bash -c "basename {} | grep -v 'test' > /dev/null && echo {}" \; Это будет соответствовать только имени файла, но выдает относительный путь, как обычно. Может быть, кто-то может предложить более элегантное решение?
Если сопоставление с относительным путем в порядке, вы можете пойти с ответом, предоставленным @ bodhi.zazen:
find foo -type f | grep -v test