Короткий сценарий Perl ниже - использование кошки для получения uuid не является самым чистым/самым быстрым способом кодировать его, но это сохраняет команду короткой:
perl -e '
foreach (@ARGV) {
my $uid=qx|cat /proc/sys/kernel/random/uuid|;
chomp $uid;
(my $new=$_)=~s#(.*)\.#$uid.#;
rename($_, $new)
}
' *.file_ext
Вышеупомянутое использование файл в/proc на Linux как источник uuids:
[bash#] cat /proc/sys/kernel/random/uuid
d474706f-b18c-4e4b-8762-5ed577c74ac3
Если Вы действительно хотите искать назад общие символы соответствия, можно использовать один из них vim
- определенные команды:
[(
... (перейдите к несопоставленному предыдущему (
символ)[{
... (перейдите к несопоставленному предыдущему {
символ)Эти две команды имеют соответствие вперед партнерам:
])
... (перейдите к несопоставленному следующему )
символ)]}
... (перейдите к несопоставленному следующему }
символ)Существуют другие подобные команды для #ifdef
и для комментариев C.
Можно найти больше когда в vim
при помощи команды :help %
.
% найдите соответствующую скобку. Таким образом, если Вы идете (или {это будет искать вперед.
Если Вы будете идти} или), то это будет искать назад.
% не направлено, это просто находит соответствующую скобку.
Я просто попробовал :map ^] ^%%
(с ^]
= Ctrl+v Ctrl+5 здесь, как аналогия с %
= Shift+5).
Это работает на данный конкретный случай, но потому что это не ищет назад от курсора, это будет всегда выбирать первую открывающую скобку на строке и оставлять Ваш курсор в начале строки, если это не найдет соответствия.
Это - лучшее решение; это ужасно и существует, вероятно, много комнаты для упрощения, но я думаю, что семантика является точно правильной (не перемещает курсор, если существует не открытый paren и перемещается в первый открытый paren перед текущим столбцом).
:map ^] ^[:call search("[({[]", "bes", line("."))^M
для
^]
= Ctrl+v Ctrl+5^[
= Ctrl+v Esc^M
= Возврат Ctrl+v[(
работал бы точно также и не требует a map
.
– Mei
16.02.2012, 19:54
%
затем это идет обоими путями - нахождение подобранного партнера. Кроме того, если в блоке, то вышеупомянутые команды найдут соответствующее соответствие. – Mei 16.02.2012, 19:07