#perl
#perl
Вопрос:
У меня есть переменная типа
var=abcd cdef$0ghkl
Я пытаюсь использовать awk внутри perl и написал код, подобный
$Var1=`echo "$var"|awk -F '{print $1}'`;
$Var2=`echo "$var"|awk -F '{print $2}'`;
Но $0
выдается как sh, а выходные данные получаются как cdefshghkl
.. Как мы можем напечатать $0
вместо sh?
Ответ №1:
Вы можете получить доступ к переменным среды внутри perl через %ENV
хэш, и вам не нужно, чтобы awk разделял строки для вас, вызывая оболочку. Perl отлично способен разделять строки.
my ($var1, $var2) = split ' ', $ENV{var};
Комментарии:
1. Большое спасибо за быстрый ответ .. разделение сработало отлично
2.
perl
в основном был изобретен, потому что людям надоело выкладывать наawk
,sed
,cut
иgrep
…3. @Kris Если этот ответ решил вашу проблему, вам следует установить флажок и сделать его принятым ответом.