bash+awk
KoDeR 27 февраля, 2007 - 22:50
возникла проблема:
#!/bin/bash
awk '/$1/ {print $1}'
...
т.е при использовании скрипта получается что-то вроде этого:
[$] ./script ABCD
awk '/ABCD/ {print ABCD}'
а мне нужно чтоб было awk '/ABCD/ {print $1}'
»
- Для комментирования войдите или зарегистрируйтесь

попробуй вот
попробуй вот так:
awk '/$1/ {print \$1}'
не работает (
не работает (
А вот так? awk '/$1/
А вот так?
awk '/$1/ {print \\$1}'
_________________
Вот такие пироги
пробовал уже ,
пробовал уже , тогда ошибка синтаксиса
?
awk '{print($1)}'
Или у меня
Или у меня другой баш и авк или одно из двух, но
#!/bin/bash awk '/X/ {print $1}'Работает так:
_________________
Вот такие пироги
мне нужно чтоб
мне нужно чтоб awk брал первый аргумент скрипта как фильтр строки , и брал из этой строки первый столбик.
awk '/$1/ {print $1}' но это не работает, во время работы скрипта bash подставляет вместо {print $1} - {print АРГУМЕНТ} ,а мне надо чтоб агрумент был только как фильтр строки awk '/АРГУМЕНТ/ {print $1}'
Я тебе пытался
Я тебе пытался намекнуть, что в моем случае баш вообще ничего не подставляет. Может ты перепутал что-нибудь?
_________________
Вот такие пироги
хз почему так
хз почему так происходит (
я хотел написать скрипт который по имени тел. берет его адрес и кидает файл по bluetooth.
в файле names.txt формат примерно такой:
пробовал делать так :
#!/bin/bash FILE=/home/abcd/names.txt obexftp -b `awk '/$1/ {print $1}' $FILE` -p $2но он так не работает ((
Использовать хочется вот так:
Re: хз почему так
А вот так:
#!/bin/bash echo `awk "/$1/ {print(\"$1\" \\$2);}" $2`пробовал?
это не
это не правильно оно выводит первый агрумент а не первый столбец файла ((
А в чём сложности?
Разве в данном случае значение первого столбца не равно первому аргументу? К тому же неужели нельзя на примере второго столбца доделать и вывод первого (хотя это будет больше ресурсов занимать, ИМХО), скажем так:
#!/bin/bash echo `awk "/$1/ {print(\\$1 \" \" \\$2);}" $2`?
Или я чего-то
Или я чего-то недопонял, но имхо так:
#!/bin/bash FILE=/home/abcd/names.txt NAME=$1 SENDFILE=$2 MAC=`grep $NAME $FILE | awk '{print $2}'` obexftp -b $MAC -p $SENDFILEвызов ./test.sh KoDeR /path/to/file
спасибо теперь
спасибо теперь работает!