
У меня есть следующая команда awk. Я хочу вырезать файл от начала до конца. Пожалуйста, дайте совет, почему awk не работает.
awk -v PARAM=start -v PARAM1=end '/PARAM/,/PARAM1/' file
файл:
2324
443
start
43
end
545
требуемый файл
start
43
end
решение1
Вы не можете использовать переменные между слешами. Используйте оператор сопоставления ~
или оператор равенства ==
:
awk -v PARAM=start -v PARAM1=end '$0 ~ PARAM,$0 ~ PARAM1' file
или
awk -v PARAM=start -v PARAM1=end '$0 == PARAM,$0 == PARAM1' file