Дедупликация с помощью awk в командной строке и сценарии

Согласно этой статье, Отключение звука запуска MacBook в Linux ,

several Internet sources suggest that writing EFI variables from Linux may sometimes corrupt your Apple firmware. I didn't research this any further. If you happen to figure out how to successfully write to these variables under Linux please let everyone know in the comments (in case OS X recovery mode goes missing, you know).

Их решение состояло в том, чтобы просто использовать nvramдля отключения звука с помощью следующей команды:

nvram SystemAudioVolume=%00

Для этого они также использовали режим восстановления, удерживая Cmd + Option + R .

Другой вариант — просто записать в переменную, используя printf, метод, обсуждаемый в комментариях к блогу.

Примечание :Этот метод потенциально опасен, рекомендуется сначала использовать предыдущий метод.

# Ensure efivars are mounted
mount | grep efivars
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,relatime)

# Remove immutable bit, allows modification
chattr -i /sys/firmware/efi/efivars/SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82

# Set volume to 00
printf "\x07\x00\x00\x00\x00" > /sys/firmware/efi/efivars/SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82

# Display new value
efivar -n 7c436110-ab2a-4bbb-a880-fe41995c9f82-SystemAudioVolume -p
GUID: 7c436110-ab2a-4bbb-a880-fe41995c9f82
Name: "SystemAudioVolume"
Attributes:
    Non-Volatile
    Boot Service Access
    Runtime Service Access
Value:
00000000  00

1
24.10.2021, 19:23
1 ответ

awk-ответ @steeldriver правильный и, вероятно, это все, что вам нужно, но если ваш ввод становится массивным, он может исчерпать память и/или стать относительно медленным, и в этом случае вот подход украшения/сортировки/декорации, который будет продолжать работать:

nl -w1 -s, file |       # Decorate by prefixing with line numbers
sort -ut, -k2,2 |       # Sort uniquely by the real key field
sort -nt, -k1,1 |       # Sort whats left by the line numbers we added
cut -d, -f2-            # Undecorate by removing the line numbers
2
24.10.2021, 22:21

Теги

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