Я использую приведенный ниже код для изменения существующего сценария awk, чтобы можно было добавлять все больше и больше дел с помощью простой команды.
echo `awk '{if(/#append1/){print "pref'"$1"'=0\n" $0 "\n"} else{print $0 "\n"}}' tf.a
обратите внимание, что первый отпечаток - "pref'"$1"'=0\n"
, поэтому он ссылается на переменную $1
в своем окружении, а не на awk
.
Команда ./tfb.a "c"
должна изменить код с:
BEGIN{
#append1
}
...
до:
BEGIN{
prefc=0
#append1
}
...
Однако, это дает мне все в одной строке.
Кто-нибудь знает, почему это так?