Вы можете использовать это и можете передать N сценариев в количестве аргументов, не нужно вызывать несколько функций несколько раз.
cat script.ksh
var=$(echo $@)
awk -v line="$var" 'BEGIN{num=split(line, array," ")} {for(i=1;i<=num;i+=2){sub(array[i],array[(i+1)])}} 1' Input_file
Здесь также добавляется не кодирующая форма с одним вкладышем.
cat script.ksh
var=$(echo $@)
awk -v line="$var" '
BEGIN{ num=split(line, array," ") }
{
for(i=1;i<=num;i+=2){
sub(array[i],array[(i+1)])}
}
1' Input_file
Выполнение кода:
Допустим, следующим является Input_file
cat Input_file
t1 test2 test3
fwvwv wbvw4e314 211232
test1 test2 test3
Теперь, после выполнения приведенного выше кода в виде script.ksh, будет следующий вывод.
./script15.ksh test1 SINGH test2 KING
t1 KING test3
fwvwv wbvw4e314 211232
SINGH KING test3
Таким образом, вы могли видеть, что test1
заменяется на SINGH
и test2
на KING
аналогично, мы могли бы сделать это больше.