Как совместить несколько условий в одном действии редактора sed?
А то некрасиво получается:
sed '/[!+-]drw[e-z]/d' /var/drweb/updates.win/drweb32.lst >
/var/drweb/updates.win/drweb32.lst.1
sed '/[+-]!/d' /var/drweb/updates.win/drweb32.lst.1 >
/var/drweb/updates.win/drweb32.lst.2
sed '/[=]/d' /var/drweb/updates.win/drweb32.lst.2 >
/var/drweb/updates.win/drweb32.lst
rm /var/drweb/updates.win/drweb32.lst.2
rm /var/drweb/updates.win/drweb32.lst.1Или sed так и работает?
1) Можно заменить несколько слов на одно:
sed 's/\(первое_слово\|второе_слово\|третье_слово\)/замена/' ...2) Можно в одной операции провести ряд замен:
sed -e 'одна_замена' -e 'вторая замена' ...3) Можно повязать несколько sed через пайп:
sed 'одна_замена' ... | sed 'вторая замена' | ...4) Можно скормить результаты работы программы в командную строкУ:
rm `grep -l 'шаблон' файлы`
(удаение всех файлов, содержащих "шаблон"). Хотя это, вроде, здесь и не к месту...
>1) Можно заменить несколько слов на одно:
>sed 's/\(первое_слово\|второе_слово\|третье_слово\)/замена/' ...
>
>2) Можно в одной операции провести ряд замен:
>sed -e 'одна_замена' -e 'вторая замена' ...
>
>3) Можно повязать несколько sed через пайп:
>sed 'одна_замена' ... | sed 'вторая замена' | ...
>
Первые три. Спасибо