Использование awk для поиска 2-го, 3-го и 4-го слова в строке - PullRequest
0 голосов
/ 06 марта 2020

Как я могу использовать awk, чтобы найти 2-е, 3-е и 4-е слова из строки? Скажем, у меня есть переменные с именами line и line="this is a random".

Я пытаюсь выяснить, как получить awk, чтобы поместить «случайно» в новую переменную. Я пытался:

threewords=$((echo $line | awk '{$2 $3 $4}'))

Однако, это не похоже на работу. Мне нужна переменная threewords, чтобы содержать строку "является случайным".

1 Ответ

3 голосов
/ 06 марта 2020

Вам нужна команда print для вывода. Кроме того, ставьте запятые между ними, чтобы получить пробелы между словами.

И оно должно быть внутри $(), а не $(()). Последний предназначен для вычисления арифметических c выражений, а не подстановки команд.

threewords=$(echo $line | awk '{print $2, $3, $4}')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...