Как я повторяю выражение и с одинарными и с двойными кавычками?

Я нашел, что Восход луны тема UI является лучшим выбором для меня.

Это очень хорошо, и это работает лучше, чем Темная Juno.

3
02.06.2014, 12:35
2 ответа

В bash :

echo $'scan \'LPV\',{FILTER => "(PrefixFilter (\'MP1-Eq1\')"}'

или

echo "scan 'LPV',{FILTER => \"(PrefixFilter ('MP1-Eq1')\"}'"

Для более длинных строк это может быть более удобной альтернативой:

> cat <<EOT
scan 'LPV',{FILTER => "(PrefixFilter ('MP1-Eq1')"}
EOT

с EOT или \ EOT , в зависимости от того, предназначены ли расширение параметра и удаление кавычек (обратная косая черта) или нет.

Использование в awk

Определение этой строки в awk сделало бы все еще более сложным. Это должно быть сделано вне awk в оболочке:

ftable=$'echo "scan \'LPV\',{FILTER => "(PrefixFilter (\'MP1-Eq1\')"}"'
# echo "$ftable"
awk -v ftable="$ftable" '... system(ftable); ...'
5
27.01.2020, 21:12

Вам просто нужно избежать двойных кавычек внутри двойных кавычек:

$ ftable="echo \"scan 'LPV',{FILTER => \"(PrefixFilter ('MP1-Eq1')\"}\""
$ echo $ftable
echo "scan 'LPV',{FILTER => "(PrefixFilter ('MP1-Eq1')"}"
2
27.01.2020, 21:12

Теги

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