Применяйте, если условие на все строки файла разделив вкладки, которые имеют одинаковое значение в определенном столбце:

Для обработки выходных данных команды в виде файла используется подстановка процесса .

comm -3 <(a | sort) <(sort b.txt)

-121--121263-

SSD: Очень быстрое, ограниченное количество операций записи.

Жесткий диск: более медленная, неограниченная запись.

Поэтому я рекомендую установить системное программное обеспечение на твердотельный накопитель. Это не будет очень часто меняются, и быстрые чтения сэкономят время при загрузке и когда вы запускаете программы в первый раз. (Не так уж много для последующие запуски, так как они в любом случае будут кэшированы.)

/ (including /bin, /sbin, /etc)
/usr
/boot if you have one

Для жесткого диска: swap, конечно; данные; все, что изменится часто.

swap
/home
/tmp
/var

В частности, обязательно используйте отдельные разделы для /tmp и /var , или они окажутся в том же разделе, что и /, т.е. твердотельный накопитель.

-121--138837-

Я нашел способ обойти. Я переключился на рабочий стол xfce. Затем играйте в амарок на заднем плане. Измените объем на более низкий. Подключите гарнитуру и увеличьте громкость. В следующий раз, когда вы вставите гарнитуру, она автоматически увеличит громкость и вы сможете слушать песню.

0
21.09.2018, 14:13
3 ответа
awk 'BEGIN { FS=OFS="\t"; d["High"]=1; d["Medium"]=2; d["Low"]=3 } { print d[$3], $0 }' file |
sort -t $'\t' -k3,3 -k1,1n | sort -t $'\t' -s -u -k3,3 | cut -f 2-

К сожалению, слова «Высокий», «Средний» и «Низкий» не сортируются по алфавиту в этом порядке, поэтому вместо этого мы добавляем перед каждой строкой целые числа 1, 2 и 3 для соответствующих слов в столбце 3. Это делается скриптом awk. Целое число отделено от исходного содержимого символом табуляции и указывает на тяжесть заболевания (1 — самая высокая ).

Затем мы сортируем измененные данные о заболевании и об этом целочисленном поле, чтобы записи были сгруппированы по заболеванию и упорядочены по тяжести.

Затем мы делаем «уникальную сортировку» только с болезнями в качестве ключа (второйsort). При этом отбрасываются любые повторяющиеся заболевания, и для каждого заболевания у нас остается только самая серьезная запись. -sзаставляет sortиспользовать стабильный алгоритм сортировки, сохраняющий переупорядочивание записей с одинаковыми ключами.

cutв конце удаляет целое число, которое мы ранее добавили с помощью awk.

Конвейер предполагает использование bashдля указания разделителя полей для команд sort. Если bashне используется, вставьте литеральную табуляцию с одной кавычкой вместо использования $'\t'(, вы, вероятно, можете сделать это, нажав Ctrl+VTab).

2
28.01.2020, 02:23

Если приоритеты всегда находятся в диапазоне от High до Low для каждого столбца Ids в секундах, то это можно легко сделать с помощью:

sort -u -k2,2 infile

В противном случае вы могли бы сделать:

sed 's/High$/1/; s/Medium$/2/; s/Low$/3/' infile \
| sort -k2,3  \
| sort -uk2,2 \
| sed 's/1$/High/; s/2$/Medium/; s/3$/Low/'

Или простоawk:

awk '{ pr[$2]=($3=="High"?$3:(pr[$2]=="High"?pr[$2]:(pr[$2]=="Medium"?pr[$2]:$3)));
       if (temp!=pr[$2]) { id[$2]=$0; temp=pr[$2] }
} END { for (key in id) print id[key] }' infile
1
28.01.2020, 02:23

Я бы использовал Perl и создал парсер, который создал бы этот хэш:

  • значение столбца 2 в качестве ключа
  • первая строка, соответствующая ключу, будет содержать значение этого ключа
  • все остальные строки для ключа будут пропущены после установки значения

После завершения синтаксического анализа я печатал хэш, при необходимости сортируя по второму токену.

0
28.01.2020, 02:23

Теги

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