...не работает. Оттого, я так подозреваю, что возникает конфликт: что такое $1 - первый аргумент скрипта или же первое слово строки, удовлетворяющей шаблону?
Как быть, кто знает?
И еще вопрос: кто подскажет как экранировать переменную $date, ибо в ней могут быть символы типа "./?*\"
Первый аргумент скрипта в данном случае. Либо \$, либо писать в одинарных кавычках.
спасибо, помогло
date=$(echo "$date" | sed 's%[].\?+*|$^(){}[]%\\&%g')
спасибо, почти помогло, вот бы еще расшифровочку, а то не все понятно)
s - это ж замена всего шаблона, разве тут не tr надо?
не пропускает формат даты типа 4/11/2009 - синтакс эррор.
s%[].\?+*|$^(){}[]% — шаблону соответствует любой из символов: ].\?+*|$^(){}[ (один и только один) %\\& — то-что-соответствует-шаблону заменяется на \то-что-соответствует-шаблону %g — заменить все вхождения, а не только первое.