Используйте Gnome 3.20, который полностью поддерживает жесты сенсорной панели, в соответствии с примечаниями к выпуску .
date "+Left %b Right"
Вы можете разместить строки внутри самой команды date
. Не проверено в разных ОС, но работает в дате GNU
.
Это потому, что команда print
команды awk
по умолчанию вставляет новую строку. Вы можете распечатать все сразу, чтобы использовался только один print
вызов:
$ date +'%b' | awk '{print "Left " $1 " Right"}'
Left Jun Right
Или используйте printf
вместо:
$ date +'%b' | awk '{printf "Left "; printf "%s", $1; printf " Right\n"}'
Left Jun Right
Использование printf
здесь бессмысленно, я просто включил его в качестве примера и чтобы показать, что он не добавляет \n
по умолчанию.
Ваша строка awk
на самом деле содержит два отдельных оператора. Здесь написано от руки
date +'%b' | awk '
{print "Left " $1}
{print "Right"}
'
Происходит следующее: для каждой строки ввода каждый awk
оператор оценивается и выполняется. Эти два оператора не имеют необязательных выражений впереди (, например, $1 == "apple" { print "I love fruit" }
, поэтому они всегда выполняются.
Таким образом, для каждой строки ввода (вашей единственной строки из date
команды )вы получите {print "Left " $1}
, а затем {print "Right}
. Операторы print
заканчивают свой вывод текущим разделителем выходных записей(ORS
переменной ), которая по умолчанию является новой строкой (NL ), поэтому вы получаете две строки вывода.
В качестве альтернативы вы можете использовать это, которое имеет только один оператор awk
, содержащий только один оператор print
, поэтому только один завершающий NL:
`date +'%b' | awk '{ print "Left", $1, "Right" }'