LINUX.ORG.RU

sed параметры из файла

 , ,


0

1

Есть 2 файла. в одном все строки. в другом критерии по которым нужно выбрать строки. например:

test:

1 a
2 b
3 a
4 c
5 a
tpl
/\([[:digit:]]*\) a/\1 b/
/\([[:digit:]]*\) c/\1 b/

Если сделать через ком строку то все ок:

$cat test | sed -n -e "s/\([[:digit:]]*\) a/\1 b/p"
1 b
3 b
5 b
$cat test | sed -n -e "s/\([[:digit:]]*\) c/\1 b/p" 
4 b

Как сделать то же самое, но не руками, а пакетно не могу придумать. Так не работает:

filename=$1
sourcefile=$2
IFS=$'\n'
for line in `cat $filename`; do
  cat $sourcefile | sed -n -e "s${line}p"
done

суть очень упрощенна, по этому надо именно так. брать регулярку из файла заменять по ней. брать следующую строку.


Разобрался сам. в боевой конфигурации были косяки с путями :) тема закрыта.

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