Я хочу сделать следующее
awk 'BEGIN {FS=" ";} {printf "'%s' ", $1}'
Но такой способ экранирования одинарной кавычки не работает
awk 'BEGIN {FS=" ";} {printf "\'%s\' ", $1}'
Как это сделать? Спасибо за помощь.
Некоторые языки избегают кавычек, помещая два из них в ряд, возможно, попробуйте это.
—
joshuahealy
Я попробовал awk 'BEGIN {FS = "";} {printf "' '% s' '", $ 1}', но одиночная кавычка не была напечатана.
На этой странице сказано, что включение одинарной кавычки в строку, заключенную в одинарные кавычки, невозможно. Возможно, вам придется преобразовать в двойные кавычки.
—
joshuahealy
Это невозможно, но две соседние строки оболочки в одинарных кавычках сливаются в один параметр. И две строки оболочки в одинарных кавычках, склеенные непробельными символами, также склеиваются в один большой глобус:
—
Kaz
'abc'd'ef'is abcdef: literal plus dplus literal. Это dнаходится за пределами кавычек, и вы можете заменить dего \'на make, 'abc'\''ef'который оценивается abc'ef.