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

Ваша строка 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" }'
0
25.06.2019, 23:14
1 ответ

После того, как вы ввели поисковый запрос, используйте:

  • Ctrlr для поиска «вверх» предыдущей команды и
  • Ctrls для переключения направления и поиска следующего «вниз».

Я понятия не имею, как ограничить количество сканируемых записей истории.

0
28.01.2020, 03:31

Теги

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