Ваш код работает для меня. Однако регулярное выражение, указанное в вопросе, будет намного больше, чем просто имена файлов в списке примеров. Это может быть проблемой, если вы хотите проверить, нужны ли имена файлов для проверки имени, потому что некоторые из них подтвердят, что это действительно не должно. Ваш шаблон
Grep регулярное выражение '@ "LBL _ [[0-9]"] +'
также соответствует имена файлов, такие как
- @ "LBL_"
- @ "LBL_2"
- @ "LBL_3" 3"
- @ "LBL_" 4
Если список действительно предст ив я бы вместо этого использовать
Grep «@„LBL _ [[0-9]] +“»
и переместить символ кавычки, чтобы после того, как плюс, в конце картины. Вы можете использовать grep и, возможно, это ваш прецедент, но если вы используете egrep или grep с ключом -E, вы можете использовать класс [[: digit:]]. POSIX.2 хмурится на диапазонах в выражении скобки, используя символ тире. Из спецификации POSIX: «Диапазоны очень зависимы друг от друга, а переносные программы должны избегать полагаться на них».
@ F.J. - редактирование сообщения для исправления ошибки с его кодом вызывает путаницу. – jordanm
Исходная команда find: 'find. type f -name * .m | grep '@ "LBL _ [[0-9]"] +' '. Это не позволит мне изменить сообщение, потому что удаление «\» не является заменой 6 символов. – jordanm
Вы пытаетесь grep для имен файлов с этим строковым шаблоном или файлами, содержащими текстовые данные с этим шаблоном? – jdi