Поскольку find
является утилитой, стандартизированной POSIX , а git
— нет. Таким образом, разработчики git
могут свободно реализовывать его опции/операнды любым способом, который они считают нужным.
Утилиты POSIX используют -
для ввода параметров, а реализации этих утилит (, такие как ls
и т. д. ), всегда реализуют их так, как предписывает стандарт POSIX. Кроме того, для некоторых утилит существует дополнительный вариант «длинной опции» некоторых стандартных опций вместе с расширениями, которые даже не упоминаются в POSIX.
В случае find
это не строго «опции», а «операнды» (, также называемые «первичными» или «предикатами» в зависимости от того, какое руководство вы читаете )в форме « выражения операнда» и воздействовать на имя пути, которое find
обрабатывает в данный момент. Реальные варианты стандарта find
— это просто-H
(разыменование символических ссылок )и-L
(не разыменование символических ссылок ). Вы заметите разницу в руководстве, где опции и операнды разделены на отдельные разделы.
Также для git
это не «истинная опция», если она указана в командной строке так, как это делается в вопросе, а операнды. Параметры всегда указываются перед параметрами, отличными от -, и любые аргументы командной строки после последнего параметра являются просто «операндами». Однако они вполне могут быть преобразованы в истинные параметры для команды sub -, которая git
вызывается позже.
Попробуйте
df -B1G /dev/sda1|awk 'NR==2{print $5,"("$3,"GB used out of",$2,"GB)."}'
-B1G
заставляет выходные данные быть в ГБ. После этого остается только выбрать поля, которые вы хотите.
Немного более красивый код, тот же результат:
df -B1G /dev/sda1|awk 'NR==2{printf "%s (%d GB used out of %d GB).\n",$5,$3,$2}'
sed
версия:
df -B1G /dev/sda1|sed -n 's!^/[^ ]* *\([0-9]*\) *\([0-9]*\) *[0-9]* *\([0-9%]*\).*!\3 (\2 GB used out of \1 GB).!p'
Вы можете попробовать с помощью команды Ниже
df -Ph /dev/sda1|awk 'NR >1{print $(NF-1)"("$3" " "used out of " " " $2")"}'
Команда
df -Ph /dev/sda1|awk 'NR >1{print $(NF-1)"("$3" " "used out of " " " $2")"}'
31%(140M used out of 488M)