как установить Window 10 с CentOS

Чтобы сохранить порядок и не читать файл дважды, я бы сделал:

awk '{f1[NR] = $1; f2[NR] = $2}
     END {
       for (i = 1; i <= NR; i++)
        for (j = 1; j <= NR; j++)
          print f1[i]f1[j], f2[i]f2[j]
     }' file

Теперь, это сохраняет все содержимое файла в памяти перед обработкой (как в @taliezin's approach). Если вы не хотите этого делать, то вам придется прочитать файл столько раз, сколько в нем строк, как в подходе @G-Man. Но использование awk вместо sh/bash (который для этого не предназначен) было бы намного эффективнее:

 awk '{f1=$1; f2=$2
       while ((getline < "file") > 0) print f1$1, f2$2
       close("file")}' file

-4
16.10.2015, 05:17
0 ответов

Теги

Похожие вопросы