Вам необходимо понять, где оболочка Unix обрабатывает кавычки и где Awk обрабатывает кавычки.
Учитывая, что в скрипте вам нужны как одинарные, так и двойные кавычки, я думаю, что вам лучше использоватьawk
программный файл, содержащий сценарий, и затем с использованием:
awk -f awk.script [file1 ...]
Это позволяет избежать всех проблем, будет ли оболочка понимать это или нет.
Если вы можете 'Чтобы сделать это, вам, вероятно, следует продолжать использовать одинарные кавычки для окружения скрипта awk, но каждое вхождение
'
внутри скрипта должно быть заменено на:
'\''
Первыйкавычка завершает преобладающую строку в одинарных кавычках.Кавычка с обратной косой чертой встраивает в строку одинарную кавычку.Третья кавычка возобновляет обычную строковую операцию с одинарными кавычками, где единственным специальным символом является одиночная кавычка.