Как использовать переменную внутри оператора awk? [дубликат]

-1
29.11.2016, 15:07
2 ответа
#!/bin/ksh
echo "Enter the matching pattern"
IFS= read -r pattern
path=/home/siva/
echo "Navigating to $path"
cd "$path" || exit
awk -v pattern="$pattern" '$0 ~ pattern{for (i=1; i<=10; i++) {getline;print}}' filename
  1. Используйте awk -v для передачи переменных в сценарий awk
  2. cat не требуется - awk может обрабатывать файлы напрямую
0
28.01.2020, 05:10
echo | awk -v variable='This is variable!' 'END{print variable}'

Вы передаете переменные с ключевым словом -v. И не используйте $ для переменной — это не bash. Awk использует $ для доступа к полю.

1
28.01.2020, 05:10

Теги

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