2015-05-20 1 views
0

выводит вывод первой команды awk по строке на следующую команду awk? Например, данный файл 1:Что именно происходит, когда я использую awk и перенаправляю этот вывод на другую команду awk?

123,1 
111,2 
345,3 
555,4 

Тогда:

awk -F"," '{print $0}' | awk -F"," '{print $2}' 

Я хочу знать, как команда AWK работает внутри.

+1

прочитать на Как правило, плохой идеей является использование различных команд 'awk', потому что в большинстве случаев то, что вы хотите сделать, может быть выполнено только одним вызовом' awk'. – fedorqui

ответ

3

№. Весь вывод первого awk будет передан на второй, то есть awk... file|awk... начнет два процесса awk, а не 1+ file.NumOfLine() процессов.

kent$ cat f 
one 
two 
three 

kent$ awk '7' f|awk '{print NR,$0}' 
1 one 
2 two 
3 three 

вы видите 1,2,3 в конечной продукции, а не 1,1,1

И это не имеет ничего общего с «как команда AWK работает внутри.», Вы можете что-то о pipe

Смежные вопросы