почтовые папки с регулярным выражением - PullRequest
0 голосов
/ 14 января 2019

Есть папка, которая заканчивается точечными и случайными строками Мне нужно застегнуть только те, которые имеют две буквы после точки

Пример списка папок:

`ls`

1113.qy 213cqecqe.cm ADss.BS ADss.QQ ADss.po a123.qqq aedrvrvr.aa aefqe.11 ghtyeu.nn qevaevbae ghtyeu.yg ADss.popoqoQWE
ADSD.QQ ADss.as adad.qqq aedrvrvr.cm asdu.wc

ниже grep cmd идеально соответствует моему требованию

`ls -a | grep -E '\.[A-Za-z]{2}$'`

.asdas.bC 1113.qy 213cqecqe.cm ADSD.QQ ADss.Cc ADss.QQ ADss.as ADss.po aedrvrvr.aa aedrvrvr.cm asdu.wc ghtyeu.nn ghtyeu.yg

при архивировании такой папки у меня ошибка на терминале OSX, перепробовал несколько вариантов, но получил ту же ошибку "имя не найдено"

zip -r ~/Desktop/33.zip ~/test124/.[A-Za-z{2}$]*

zip -r ~/Desktop/33.zip ~/test124/'\.[A-Za-z{2}$]*'

zip -r ~/Desktop/33.zip ~/test124/'\.[A-Za-z]{2}$*'

zip -r ~/Desktop/33.zip ~/test124/".[A-Za-z{2}]$*"

zip -r ~/Desktop/33.zip ~/test124/".[A-Za-z{2}]$"

какой-то другой cmd, я пытался заархивировать все папки, как

zip -r ~/Desktop/33.zip ~/test124/*.[A-Za-z{2}$]*

Я что-то упустил, заранее спасибо

zip -r ~/Desktop/33.zip ~/test124/.[A-Za-z{2}$]*

zip -r ~/Desktop/33.zip ~/test124/'\.[A-Za-z{2}$]*'

zip -r ~/Desktop/33.zip ~/test124/'\.[A-Za-z]{2}$*'

zip -r ~/Desktop/33.zip ~/test124/".[A-Za-z{2}]$*"

zip -r ~/Desktop/33.zip ~/test124/".[A-Za-z{2}]$"

какой-то другой cmd, я пробовал, который заархивировал все папки, например

zip -r ~/Desktop/33.zip ~/test124/*.[A-Za-z{2}$]*

Я бы ожидал, что папки с архивами, которые имеют. и два символа

1113.qy 213cqecqe.cm ADSD.QQ ADss.BS ADss.Cc ADss.QQ ADss.as ADss.po aedrvrvr.aa aedrvrvr.cm asdu.wc ghtyeu.nn ghtyeu.yg

1 Ответ

0 голосов
/ 14 января 2019

zip команда не распознает regex. Даже если это так, ваш синтаксис расширяется имена файлов внутри оболочки, а не zip.

Будет работать следующее:

zip -r ~/Desktop/33.zip ~/test24/*.[A-Za-z][A-Za-z]

Чтобы использовать regex, вы также можете сказать что-то вроде:

find ~/test24 -type f -regextype posix-egrep -regex ".+\.[A-Za-z]{2}" -print0 | xargs -0 zip -r ~/Desktop/33.zip

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...