Можно использовать -l флаг расширения :
l: expr:: string1:: string2:
Поместите полученные слова слева. Каждый слово будет усечено при необходимости и помещено в поле expr символы в ширину.
Аргументы: string1: и: string2: необязательны; ни один, во-первых, или оба могут быть даны. Обратите внимание, что одни и те же пары разделителей должен использоваться для каждого из трех аргументов. Пространство слева заполняется строкой 1 (сцепляется так часто, как это необходимо) или места, если строка 1 не указана. Если заданы и строка 1, и строка 2, строка 2 вставляется один раз непосредственно слева от каждого слова, усеченная при необходимости перед использованием стринг1 для получения оставшейся набивки.
Если активна опция MULTIBYTE, также может быть задан флаг m, в который случай ширин будет использоваться для расчета набивки; в противном случае отдельные многобайтовые символы рассматриваются как занимающие один единица ширины.
Если опция MULTIBYTE не действует, каждый байт в последовательности имеет значение обрабатывается как занимающая одну единицу ширины.
Предполагается, что управляющие символы всегда имеют ширину в одну единицу; это позволяет механизм, используемый для генерации повторений управления персонажи.
Попробуйте:
zmv '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
-121--102953-
Если у вас есть оболочка zsh
, вы можете сделать что-то подобное ниже.
zmv '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
Тестирование
touch 0-1.jpg
touch 0-23.jpg
touch 0-345.jpg
touch 0-6.jpg
touch 0-05.jpg
Измените оболочку на zsh
, и если zmv
не загружен, можно выполнить автозагрузку zmv
.
Теперь можно добавить флаг -n
к команде zmv
, чтобы увидеть, что произойдет при выполнении команды zmv
. Я выполняю команду как,
zmv -n '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
Вывод:
zmv -n '([0-9])-([0-9]##).(jpg)' '$1-${(l:3::0:)2}.$3'
mv -- 0-05.jpg 0-005.jpg
mv -- 0-1.jpg 0-001.jpg
mv -- 0-23.jpg 0-023.jpg
mv -- 0-6.jpg 0-006.jpg
Если имена файлов правильно переименованы, можно удалить флаг -n
.
Ссылки
Спасибо пользователю Gnouc за разъяснение моих сомнений по этому вопросу, который я опубликовал в качестве другого вопроса для получения этого решения, и ссылка на ответ Gnouc этот один.
-121--67366-
Если он все еще не работает, дважды проверьте, используется ли su - oracle
, так как при использовании su - oracle
будет прервана переадресация с экрана X или корректный дисплей при использовании Oracle RunInstaller.
Поэтому необходим узел ssh с пользователем oracle.
Представляется, что составление этого:
gcc -o example example.c -l:libpcap.so.1.7.4
по-прежнему требует, чтобы
libpcap.so.0.8
быть в вашей системе.
И я понятия не имею, почему. Однако, делая ссылку из (любой версии, которую вы используете, обратите внимание, что я ЯВНО говорю ей ссылаться на libpcap.so.1.7.4 )любую версию, которая у вас есть, на libpcap.so.0.8 -это будет работать.