awk: переменная как искомый образец
первая ссылка твоя
Еще один мелкий вопрос, если можно.
Мне нужно не просто найти вхождение SomeString, а чтобы это было отдельное слово.
Я могу сделать так /\<SomeString\>/ {print("Hello")}, но сделать так
$0 ~ /\<var\>/ {print("Hello")} не получилось.
$0 ~ var {}
$0 ~ "\<" var "\>" {}
Но, может, так
$0 ~ "\\<" var "\\>" {
У меня с одинарными слэшами воспринял их как экранирование и "\<" интерпретировал как "<"
Плюс-минус бэкслэш...
awk: cmd. line:7: warning: escape sequence `\<' treated as plain `<'
ну типа он тебя предупредил на всякий случай чтобы ты имел ввиду что если хочешь \< то должен ставить
А разве не достаточно?
А разве не достаточно?ну это же от шелла зависит
у когонить может ваще не надо ничего экранировать, а у когонить все надо
стандарта ж нет на такое
Ну тогда, наверное, от awk может зависеть.
P.S. Кстати, можешь сказать какие-нибудь два не особо изощренных командных интерпретатора, чтобы с одинаковым количество бэкслешей выражение интерпретировалось по-разному. (например echo ...)
P.S. Кстати, можешь сказать какие-нибудь два не особо изощренных командных интерпретатора, чтобы с одинаковым количество бэкслешей выражение интерпретировалось по-разному. (например echo ...)
> bash
> echo "\\\<"
\\<
> sh
> echo "\\\<"
\<
У меня на
bash-3.2-20.fc7 и на bash-3.1-16.1 такого не воспроизводится
У тебя какой пакет bash?
> bash --version
GNU bash, version 2.03.0(1)-release (sparc-sun-solaris)
Copyright 1998 Free Software Foundation, Inc.
подозреваю что дело необязательно в баше но и в конкретной реализации баша
ну тоесть баш на солярке и баш на редхате могут себя по-разному вести
и это абсолютно нормально в юникслайк системах
и это абсолютно нормально в юникслайк системахскорее - "абсолютно обычно", а не "абсолютно нормально"
Оставить комментарий
kataich
Здравствуйте, у меня такая проблема.Допустим я в "awk" - программе объвил некую переменную var=SomeString.
Хочу, чтобы теперь эта переменная играла роль образца, то есть что-то типа этого
/var/ {print("hello");}, но в таком виде, понятно, я буду искать вхождение не SomeString в записи, а просто var. Как мне добиться поиска SomeString?
Заранее благодарен