チャネルをスキャンするには、次の 2 つのコマンドを使用します。
awk 'BEGIN{while(" w_scan -c PL -x " | getline ) print >> "tmp" }'
awk 'BEGIN{while(" w_scan -I tmp -E 0 -t 3 -F " | getline) print >> "channels" }'
同じことをしたいのですが、コマンドは 1 つだけです。tmpへの書き込みをスキップするように単純化するには?
ご協力ありがとうございました。
編集:
このコマンドを試しましたが、うまくいきません:
awk 'BEGIN { while (" w_scan -c PL -x " | getline ){split($0, tab, RS) system( " w_scan -I \047" tab[1] "\047 -E 0 -t 3 -F " ">>" "channels" )}}'
結果エラー ->リンクの説明をここに入力
編集-1
このスクリプトを使用すると機能しません。
run.awk
BEGIN {
while (" w_scan -c PL -x " | getline ) {
split($0, tab, RS)
system( " w_scan -I '\047'" tab[1] "'\047' -E 0 -t 3 -F >> channels" )
}
}
結果エラー →ここにリンクの説明を入力
このスクリプトを使用すると、うまく機能します。
sh スクリプト
#!bin/bash
awk 'BEGIN{while(" w_scan -c PL -x " | getline ) print >> "tmp" }'
awk 'BEGIN{while(" w_scan -I tmp -E 0 -t 3 -F " | getline) print >> "channels" }'
結果 --> ここにリンクの説明を入力