Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Zahar Kiselev                        2:5030/382.1   07 Feb 2002  22:20:02
 To : All
 Subject : sed?
 -------------------------------------------------------------------------------- 
 
 
 Сегодня опять писал и отлаживал скрипты, обрабатывающие Важные Данные(имена mp3 
 файлов, которые у меня просили люди из другого города:)
 Снова использовал sed и в который уже раз наткнулся на одну мелочь, которая
 не раз уже мешала.
 Вот например строчка:
 
 TIT=`echo -n $T | sed 's,  ,,g' | sed 's, $,,g'| sed 's,^ ,,g'| sed 's, ,_,g'`
 
 Это писалось для того, чтобы:
 - убрать длинные цепочки повторяющихся пробелов.
 - убрать пробелы в конце строки
 - убрать пробелы в начале строки
 - заменить оставшиеся пробелы на подчеркивания.
 Все это _работает_, пусть может быть и не самым оптимальным способом, но
 формирует строчку, которую можно уже использовать как имя файла.
 С одним большим "но" - если в исходной строчке встречаются символы ` или ',
 то их автоматически заменить на подчеркивания не получается. Вполне очевидно, 
 что и bash и sed воспринимают их как спецсимволы. И если bash еще можно
 отучить от этого при помощи добавления символа \, то вот что сказать sed`у - я
 так и не понял. У него вообще есть способ задания "запрещенных" символов?
 Чтение man sed мне в очередной раз не помогло.
 
 Также принимаются советы, как еще можно написать преобразование строчки из
 ID3tags в строчку, пригодную для называния файла? Чтобы вместо TRACK18.MP3
 видеть что-то более осмысленное, но при этом не наступать на грабли, вызванные 
 появлением в именах файлов различных "неприятных" символов(вместо них
 предпочтительны символы подчеркивания).
 
 Zahar
 
 --- Msged/LNX 6.1.0
  * Origin: undefined location (2:5030/382.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 sed?   Zahar Kiselev   07 Feb 2002 22:20:02 
 Re: sed?   Alexander Kulak   07 Feb 2002 11:37:49 
 sed?   Oleg Deribas   07 Feb 2002 17:51:28 
Архивное /ru.linux/32883c62e6f0.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional