Если это для удобочитаемости, вы можете изменить метод проверки файлов, а также имена переменных.
Попробуйте, пожалуйста:
awk 'ARGIND==1{words[FNR]=$1;}
ARGIND==2{xcol[FNR]=$1;}
ARGIND==3{print words[FNR], "<- c(", xcol[FNR], ",", $1, ")"}' words.txt x.txt y.txt
Выше метод проверки файлов предназначен для GNU awk.
Изменение на другое, а также изменение порядка чтения файлов будут следующими:
awk 'FILENAME=="words.txt"{print $1, "<- c(", xcol[FNR], ",", ycol[FNR], ")";}
FILENAME=="x.txt"{xcol[FNR]=$1;}
FILENAME=="y.txt"{ycol[FNR]=$1;}' x.txt y.txt words.txt
Как вы также можете видеть здесь, порядок чтения файлов и порядок блоков могут различаться.
Поскольку words.txt
имеет первый столбец, или, так сказать, main column
, разумно читать его последним.
Вы также можете использовать FILENAME==ARGV[1]
FILENAME==ARGV[2]
и т. Д. Для проверки файлов и размещения комментариев внутри (используйте awk
файл сценария и лучше загружайте с awk -f scriptfile
с комментариями):
awk 'FILENAME==ARGV[1]{xcol[FNR]=$1;} #Read column B, x column
FILENAME==ARGV[2]{ycol[FNR]=$1;} # Read column C, y cloumn
FILENAME==ARGV[3]{print $1, "<- c(", xcol[FNR], ",", ycol[FNR], ")";}' x.txt y.txt words.txt