[CLOSED] [shell - awk] передать shell переменную в тело awk-у
awk -v login=${LOGNAME} -F: '$1 == login { print }' /etc/passwd
grep "^${LOGNAME}:" /etc/passwd
cat /etc/passwd | awk -F':' '{if ($1 == "'"${LOGNAME}"'") print $0}'
сразу 2 способа =)
PS
ENVIRON[] тема =)
А так работает?работает.. я туда как только не пробовал впихнуть ее.. экранировал по всякому.. даже echo пытался воткнуть.. не получалось... а вот так, по всей видимости не пробовал, блин =)
code:cat /etc/passwd | awk -F':' '{if ($1 == "'"${LOGNAME}"'") print $0}'
спасибо!
grep "^${LOGNAME}:" /etc/passwdзадача не вывести из /etc/passwd свою строку... это так, пример, чтоб нагляднее было...
задача была научиться использовать переменные окружения в awk-е
Спасибо!
awk "{print \$1}" - распечатает первое слово из входа awk-а
вроде бы не очень много нужно экранировать
Оставить комментарий
macrophage
Чет никак не получается скормить awk-у shell переменную.На простом примере:
Возвращает строку из /etc/passwd с первым полем равным <my_name>.
Хочу вместо <my_name> вставить шеловскую переменную, но чет никак не могу понять как ее туда впихнуть
Так, ясен пень, работает:
, но имхо изврат, тем более, что этот пример простой, а в более сложном задолбаюсь экранировать...
Ведь наверняка можно передать? никто не сталкивался?