Есть 2 файла. в одном все строки. в другом критерии по которым нужно выбрать  строки. например:
 
 
test:
1 a
2 b
3 a
4 c
5 a
/\([[: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суть очень упрощенна, по этому надо именно так. брать регулярку из файла заменять по ней. брать следующую строку.

