URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4191
[ Назад ]

Исходное сообщение
"Получение результата выполнения внешней команды"

Отправлено astenax , 18-Апр-05 14:50 
Выполняю вот такую команду в shell без проблем:
wc -l filename | awk '{ print $1 }'
Получаю только первое поле вывода. Все отлично. А вот выполнение такой же команды в Perl не дает желаемого результата:
$string_count=system("wc -l $local_file_name_1 | awk \'{ print $1}\' ");
Выдает строку целиком, т.е.:
19574 filename
В чем мой косяк?
Заранее благодарен за помощь!

Содержание

Сообщения в этом обсуждении
"Получение результата выполнения внешней команды"
Отправлено madskull , 18-Апр-05 15:15 
>Выполняю вот такую команду в shell без проблем:
>wc -l filename | awk '{ print $1 }'
>Получаю только первое поле вывода. Все отлично. А вот выполнение такой же
>команды в Perl не дает желаемого результата:
>$string_count=system("wc -l $local_file_name_1 | awk \'{ print $1}\' ");

Надо \$1

А вообще, для этого лучше использовать что-то вроде stat.


"Получение результата выполнения внешней команды"
Отправлено astenax , 18-Апр-05 15:19 
>>Выполняю вот такую команду в shell без проблем:
>>wc -l filename | awk '{ print $1 }'
>>Получаю только первое поле вывода. Все отлично. А вот выполнение такой же
>>команды в Perl не дает желаемого результата:
>>$string_count=system("wc -l $local_file_name_1 | awk \'{ print $1}\' ");
>
>Надо \$1
>
>А вообще, для этого лучше использовать что-то вроде stat.

Большое спасибо! Совсем видать глаз замылился раз перед знаком бакса забыл поставить признак того, что это не спецсимвол :(



"Получение результата выполнения внешней команды"
Отправлено konst , 19-Апр-05 19:12 
>>>Выполняю вот такую команду в shell без проблем:
>>>wc -l filename | awk '{ print $1 }'
>>>Получаю только первое поле вывода. Все отлично. А вот выполнение такой же
>>>команды в Perl не дает желаемого результата:
>>>$string_count=system("wc -l $local_file_name_1 | awk \'{ print $1}\' ");
>>
>>Надо \$1
>>
>>А вообще, для этого лучше использовать что-то вроде stat.
>
>Большое спасибо! Совсем видать глаз замылился раз перед знаком бакса забыл поставить
>признак того, что это не спецсимвол :(

$string_count=`wc -l $local_file_name_1 | awk \'{ print $1}\' `;