Для обработки выходных данных команды в виде файла используется подстановка процесса .
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. Затем играйте в амарок на заднем плане. Измените объем на более низкий. Подключите гарнитуру и увеличьте громкость. В следующий раз, когда вы вставите гарнитуру, она автоматически увеличит громкость и вы сможете слушать песню.
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).
Если приоритеты всегда находятся в диапазоне от 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
Я бы использовал Perl и создал парсер, который создал бы этот хэш:
После завершения синтаксического анализа я печатал хэш, при необходимости сортируя по второму токену.