Как отфильтровать regex (исключите специальные символы),

Скажем, то, что я должен отфильтровать имена всех своих файлов, которые не включают специальные символы.

ASDA123fasf - would pass
asasdasd*dasd - wouldn't pass
1
задан 19 May 2018 в 21:33

1 ответ

Одна из многих альтернатив была бы find . -maxdepth 1 -iregex '.*/[a-z0-9.]*' -ls

Если Вы думаете, что Вы, возможно, должны использовать это часто, Вы могли бы даже создать псевдоним для сокращения команды:

Примечание: Ниже псевдонима будет только работать в текущем каталоге, хотя Вы могли легко создать сценарий, который проанализирует параметр командной строки для каталога..

alias myls="find . -maxdepth 1 -iregex '.*/[a-z0-9.]*' -ls"

Если необходимо было сделать это, каждый раз, когда Вы дали команду myls Вы получили бы желаемый вывод без всего дополнительного ввода. Ленивый или эффективный, Вы решаете.

Источники: Командующий Байта комментирует здесь

https://stackoverflow.com/questions/4509624/how-to-limit-depth-for-recursive-file-list - конкретно этот ответ

man find

0
ответ дан 8 December 2019 в 00:59

Другие вопросы по тегам:

Похожие вопросы: