LINUX.ORG.RU

скрипт:seq,awk


0

0

есть файл содержания типа cо строками типа //alphanum/numeric/ , например :
dsghsh //dsgdfg435/0333/ sadfgas 5674
gjjhg //977vcz/23/ 9789gnn shg
35478 //9bfg7gf87/70234/ dfg89fd 9fg8h

надо найти все участки, стоящие после //, и ,заключённые между первыми двумя / ,
и если число символов между этими слешами больше(напимер) 3 символов, то
надо заменить содержимое этих слешей (например /2398/ ) на /2/398/

вопрос
в какой из утилит "лучше" всего (для моего случая) реализована такая функция -
- sed,awk и что ещё ???
и ткнуть в строку из мана, и ,простой пример если можно ...

ps
заранее благодарен за помощь

anonymous

сорри, links что-то глюканул - постил в general

ps

просьба к модератору: неудалять, или перенести в general

anonymous
()

В целом, с помощью sed я себе это кое-как представляю, но ... %)

Почитай какую-то доку по sed'у, думаю получится

fagot ★★★★★
()

sed 's|//\(.\)\(.\{3,\}\)/|//\1/\2/|'

sdio ★★★★★
()
Ответ на: комментарий от sdio

Прочитал вопрос в 7-ой :-) раз и понял, что ошибся.
Вот так правильно:
cat file | perl -pe 's|//(.+?)/(.)(.{3,}?)/|//$1/$2/$3/|;'

sdio ★★★★★
()
Ответ на: комментарий от sdio

спасибо, правда перл я незаню вообще - придется чуть почитать
зы
это будет(вернее уже есть - только без этой добавки) скрипт для
выкачиваня mp3 с сайта и переименования -
- тянется лист с сайта и парсится.
Без этой добавки от 30% до 50% некачалось - урл вводился ошибочный

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.