перенаправление печати awk в файл - PullRequest
3 голосов
/ 22 ноября 2011

Я могу получить процессор Mhz машины соляриса, выполнив следующую команду.

% /usr/sbin/psrinfo -v | grep operate |head -1 | awk '{print $6}'

1200

когда я запускаю следующую команду, вывод awk не перенаправляется.

%  csh -cf "/usr/sbin/psrinfo -v | grep operate |head -1 | awk '{print $6}' > myoutput"

% cat myoutput

Процессор sparcv9 работает на частоте 1200 МГц,

как получить следующий результат

% cat myoutput

1200

1 Ответ

9 голосов
/ 22 ноября 2011

Ваша проблема в том, что $6 оценивается вашей существующей оболочкой перед тем, как быть переданной в csh (и использоваться в команде awk).

Выход из $ должен решить проблему:

csh -cf "/usr/sbin/psrinfo -v | grep operate |head -1 | awk '{print \$6}' > myoutput"

Или, более кратко:

csh -cf "/usr/sbin/psrinfo -v | awk '/operate/{print \$6; exit}' > myoutput"
...