Группирование строк в разнородные подмножества

У Вас, вероятно, были alsa-utils и alsa-lib, все еще установленный. Удалите их и затем переустановите с 'alsa-utils' alsa-oss alsa-инструментов alsa-плагинов. Alsa-lib должен установить автоматически как зависимость других.

2
24.07.2015, 21:24
2 ответа
sort -n -k2 -k1.3 file | awk '{$2!=a?x=1:x++} {print > "file"x; a=$2}'

Во-первых, нам нужно правильно отсортировать файл. -n сортирует файл численно, -k2 сортирует в соответствии со вторым полем (метки 2-6), -k1.3 затем сортирует в этом порядке первое поле численно начинается с 3-го символа (без учета ведущего Q. ). Теперь awk разделяет вывод между файлами по возрастанию (файл1, файл2, файл3, файл ...).

Результат выглядит так: file1 :

$ cat file1
Q.1 2 Marks
Q.4 3 Marks
Q.3 4 Marks
Q.2 5 Marks
Q.5 6 Marks

And file2 :

$ cat file2
Q.8 2 Marks
Q.7 3 Marks
Q.6 4 Marks
Q.10 5 Marks
Q.9 6 Marks
6
27.01.2020, 21:50

ответ awk: это сохранит порядок вопросов, как в исходный файл.

$ awk '{filename = "questions" ++n[$2] ".txt"; print > filename}' questions.txt 
$ cat questions1.txt 
Q.1 2 Marks
Q.2 5 Marks
Q.3 4 Marks
Q.4 3 Marks
Q.5 6 Marks
$ cat questions2.txt 
Q.6 4 Marks
Q.7 3 Marks
Q.8 2 Marks
Q.9 6 Marks
Q.10 5 Marks
3
27.01.2020, 21:50

Теги

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