Использование grep с PCRE (-P):
diskutil info / | grep -Po 'Free Space:\s+\K[^(]+(?=\s+\()'
Free Space:\s+ соответствует части до желаемого выхода, \K отбрасывает совпадение [^(]+, совпадающее с желаемым выходом, нулевая ширина позиционного шаблона (f9) гарантирует, что за совпадением следуют пробелы и (. Аналогичная логика с использованием sed:
diskutil info / | sed -r 's/.*Free Space:\s+([^(]+)\s+\(.*/\1/'
Пример:
% grep -Po 'Free Space:\s+\K[^(]+(?=\s+\()' <<<'Volume Free Space: 31.5 GB (31519584256 Bytes) (exactly 61561688 512-Byte-Units)'
31.5 GB
% sed -r 's/.*Free Space:\s+([^(]+)\s+\(.*/\1/' <<<'Volume Free Space: 31.5 GB (31519584256 Bytes) (exactly 61561688 512-Byte-Units)'
31.5 GB
Предполагая, из вашего вопроса и замечаний, что вы пользователь только для GUI.
В вашей среде GUI cheese запускается через файл с именем cheese.desktop ], вероятно, находится в $HOME/.config/cairo-dock/current_theme/launchers/cheese.desktop (или, как упражнение для ученика, где-то в дереве каталогов $HOME/.config/...), или вы можете найти оригинал в /usr/share/applications/cheese.desktop. Формат файла desktop описан в Спецификации файла рабочего стола
. Сначала создайте временную рабочую директорию и сделайте ДВУХ копий вашего cheese.desktop файла. Назовите их camera1.desktop и camera2.desktop или что угодно.
Отредактируйте camera1.desktop и camera2.desktop. В каждом файле измените строки
Exec=cheese
и
Name=cheese
на
Exec=cheese --device=/dev/camera1
Name=camera1
или
Exec=cheese --device=/dev/camera2
name=camera2
Измените ТОЛЬКО линию Exec=cheese и Name=cheese.
Когда вы довольны своими изменениями, скопируйте их обратно на $HOME/.config/cairo-dock/current_theme/launchers/, сохранив имена camera1.desktop и camera2.desktop.
Нажмите camera1, чтобы начать cheese --device=/dev/camera1 и camera2, чтобы начать cheese --device=/dev/camera1.
Примечание: Я на самом деле не пробовал это.
Предполагая, из вашего вопроса и замечаний, что вы пользователь только для GUI.
В вашей среде GUI cheese запускается через файл с именем cheese.desktop ], вероятно, находится в $HOME/.config/cairo-dock/current_theme/launchers/cheese.desktop (или, как упражнение для ученика, где-то в дереве каталогов $HOME/.config/...), или вы можете найти оригинал в /usr/share/applications/cheese.desktop. Формат файла desktop описан в Спецификации файла рабочего стола
. Сначала создайте временную рабочую директорию и сделайте ДВУХ копий вашего cheese.desktop файла. Назовите их camera1.desktop и camera2.desktop или что угодно.
Отредактируйте camera1.desktop и camera2.desktop. В каждом файле измените строки
Exec=cheese
и
Name=cheese
на
Exec=cheese --device=/dev/camera1
Name=camera1
или
Exec=cheese --device=/dev/camera2
name=camera2
Измените ТОЛЬКО линию Exec=cheese и Name=cheese.
Когда вы довольны своими изменениями, скопируйте их обратно на $HOME/.config/cairo-dock/current_theme/launchers/, сохранив имена camera1.desktop и camera2.desktop.
Нажмите camera1, чтобы начать cheese --device=/dev/camera1 и camera2, чтобы начать cheese --device=/dev/camera1.
Примечание: Я на самом деле не пробовал это.