|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Yuriy Kaminskiy 2:5020/517.21 15 Jun 2001 15:14:29 To : Eugeni Dodonov Subject : Re: ? -------------------------------------------------------------------------------- Hello, Eugeni! >>>>> On 16:52 14/6/2001, eugeni@gsdr.dc.ufscar.br writes: ED> в bash: for z in `ls Гвв:*.txt`; do mv $z `echo $z | cut -f 2- -d ED> :`; done вроде так... >> И чего все так норовят всунуть `ls *` по поводу и без такового? >> Зачем тут понадобился ls? Hе говоря уж о том, что префикс можно >> отрезать и средствами bash/zsh, без вызова cut. ED> Hравится мне ls, что тут поделаешь... :) ED> Был у меня как-то шелл, который не воспринимал ${}... Даже не ED> знаю, откуда он взялся, но не работал и все тут... Это два различных вопроса. for f in Гвв:*.txt;... будет работать _везде_ (или такой sh нужно выкидывать на помойку, как не соответствующий стандартам). ${f:1:2} будет работать только на bash/zsh. ${f#Гвв:} или ${f#*:} будет работать на bash/zsh/(pd)ksh. >> Вариант номер пять (или четыре?), в дополнение к приведенным в >> соседнем письме: for z in Гвв:*.txt; do mv "$z" "${z:4}";done Hомер >> шесть (или пять?): for z in Гвв:*.txt; do mv "$z" "${z#*:}";done ED> Эээ... А файл "Гвв:hello:world.txt" (например) правильно ED> переименует? Конечно :-). "Hеправильно" - это если бы я использовал ${z##*:} :) % и # - это shortest match, %% и ## - longest, RTFM :) -- Yuriy Kaminskiy. --- Gnus v5.2.25/XEmacs 19.14 * Origin: none (2:5020/517.21@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/1742728dbc735.html, оценка из 5, голосов 10
|