#!/bin/sh # usage: cat fromfile | ./adj_input_param &key name value > tofile neof=true todo=0 while $neof do read s || neof=false case $todo in 0) [ "$s" == "$1" ] && todo=1 ;; 1) if [ $(echo "$s" | grep -c "^ *$2 ") -eq 1 ] then echo -ne "$s" | sed "s/=.*$//" echo -ne "= " echo -ne "$3" echo "$s" | sed "s/ *#.*$/\n&/" | tail -n1 todo=2 continue fi [ $(echo "$s" | grep -c "^&") -eq 1 ] && todo=2 ;; 2) esac echo "$s" done