cat-перенаправить файл, но с расширениями переменных

  cat $(ls -1 Apex_*_Latest.csv | sort -nr -k2 -t'_') | awk -F"," '{
           if (NR==1){
                nfm=NF};
           for (i=1;i<=nfm;i++) {
                printf $i","};
           print ""}' >Apex.csv

Вы можете поменять местами sort имена файлов на основе второго поля (30,20,10 ..) и cat файлов, чтобы строки с наибольшим числом столбцов идет первым.

Затем с помощью awk вы можете получить максимальное количество столбцов NF из первой строки NR if (NR == 1) {nfm = NF}

Затем запустите цикл for до тех пор, пока i (номер столбца) не будет больше или равно nfm , чтобы напечатать значения в поле № i , за которым следует от ','. если нет значения для i -го поля (бывает, когда столбцы меньше, чем последние файлы), будет напечатано только , .

3
05.02.2018, 07:47
0 ответов

Теги

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