В этот файл можно записывать только неотрицательные целые числа, потому что это специальный файл, и ядро отвергает любой другой ввод. Это не специальный файл в смысле наличия специального типа файла, но это специальный файл, потому что он находится в специальной файловой системе. Когда вы обращаетесь к "нормальной" файловой системе, ядро сохраняет содержимое файла на диске, не интерпретируя его. Но когда вы обращаетесь к файлам под /proc
(procfs) или /sys
(sysfs), данные не хранятся на диске, доступ вызывает пользовательский код ядра. Для такого файла, как /sys/class/backlight/intel_backlight/brightness
, этот пользовательский код хочет получить целое число от 0 до некоторого аппаратно-зависимого максимума, и если вы попытаетесь записать что-нибудь еще, вызов write
завершится неудачей со статусом ошибки EINVAL.
Попробуйте это,
grep -Po '(?<=(aria-label=")).*(?=" aria-selected=)' file
печатает значение между aria-label="
и" aria-selected=