Как можно обрезать имя файла после определенного символа

Вы можете использовать awk для построения массива (в памяти) при чтении файла - затем END- обработать этот массив для вывода по мере необходимости.

Несмотря на то, что многие поля остаются после удаления первых 2 и последних 3 полей из записи, они становятся ключом к массиву.

awk -F, '{ ix=$NF
           sub( "[^,]+,[^,]+,","")       # delete first 2 fields
           sub(",[^,]+,[^,]+,[^,]+$","") # delete last 3 fields
           a[$0]=a[$0] ","ix }  
      END{ for( r in a ) { sub(",","",a[r]);  print r" : "a[r] }
         }' file

вывод:

cat,val1,val2val3,val4,val5 : index5,index6
bar,cat1,cat2,cat3,cat4,cat5 : index2,index4
foo,data1,data2,data3,data4,data5 : index1,index3
0
03.01.2018, 00:25
0 ответов

Теги

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