Попытка исключить определенный каталог из команды grep
1146
phdumaresq
У меня есть каталог, который содержит сотни подкаталогов, в именах которых есть даты, и внутри каждого из этих подкаталогов есть куча файлов, которые мне нужно искать. Команда grep, которую я сейчас использую, такова:
Я хочу, чтобы моя команда grep выполняла поиск file00*.pjsonдля каждого отдельного подкаталога, КРОМЕ самого последнего, в данном случае 2017060200_it2. Тем --exclude-dir=2017060200не менее, мой, кажется, не выполняет это.
Я использую grep V2.20 в системе CentOS 6.7, и когда я использую grep --help, я получаю опцию для использования --exclude-dir, поэтому я не думаю, что эта информация актуальна.
Бонус: если бы вы могли показать мне, как получить текущую дату и отформатировать ее yyyyMMdd00_it2так, чтобы я мог сделать эту работу хроной, это было бы здорово, но я планировал выяснить, как сделать это отдельно, как только я получу эту работу.
1 ответ на вопрос
0
Joe P
Ваш --exclude-dir правильный, просто он влияет на рекурсию - но вы явно указали все *_it2каталоги в глобусе файла, и это происходит перед любой рекурсией.
Я предлагаю использовать findвместо этого - что-то вроде (не проверено)
Потрясающе, сработало очень хорошо! Пришлось немного изменить команду, но это сделало свое дело! Огромное спасибо. Бонус: часть даты тоже сработала, спасибо!
phdumaresq 6 лет назад
0
С другой стороны, я заставил это работать, используя `grep --exclude` вместо` grep --exlude-dir` ... Я думал, что `--exclude` для файлов, но я думаю, что это просто рекурсивно поведение...
phdumaresq 6 лет назад
0