Сохранение и двойная загрузка Kali с USB

awkрешение:

awk -F'|' 'NR==1{ h=$0; f=0; c=1 }NR>1{ 
              a[$5]; if(length(a)>3) { f=0;c++; delete a }; 
              fn="file"c".txt"; if(!f) print h > fn; print > fn; f++ 
           }' file
  • h=$0-заголовок строка

  • f=0-флаг, указывающий на момент печати строки заголовка в следующий новый файл

  • c=1-Суффикс имени файла (увеличивается для каждого нового файла)

  • a[$5]-индексирующий массив aс уникальными значениями 5-го поля

  • if(length(a)>3) { f=0;c++; delete a }-инициализация следующего нового имени файла(c++)при следующих 3 уникальных значениях.(delete a-удалить все элементы из массиваa)

  • fn="file"c".txt"-текущее имя файла


Просмотр результатов:

for f in file[0-9]*.txt; do echo "$f"; cat "$f"; echo; done

Выход:

file1.txt
C1|C2|C3|C4|C5|C6
0|1|2|3|0-1-2-3|4
0|2|2|4|0-1-2-3|5
0|1|2|3|1-3-2-4|4
0|1|2|3|1-1-3-4|4
0|1|2|3|1-1-3-4|5

file2.txt
C1|C2|C3|C4|C5|C6
0|1|2|3|4-5-2-6|4
0|1|2|3|4-5-2-6|6
0|4|5|3|7-4-2-4|4
0|1|2|3|7-4-2-5|4
0|1|2|3|7-4-2-5|5
0|1|2|3|7-4-2-5|6

file3.txt
C1|C2|C3|C4|C5|C6
0|1|2|3|7-5-2-6|5
0
29.08.2019, 18:40
0 ответов

Теги

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