小さなawkスクリプトで問題が発生しました。私はいくつかのログファイルの中から最新のファイルを選択してgetlineを使って読み込もうとしています。問題は、スクリプトに入力を最初に送信しないとうまくいかないことです。最新のファイルを選択してgetlineを使用してください。
これは
echo | myprog.awk
がこれを行うに動作しない
myprog.awk
myprog.awk
BEGIN{
#find the newest file
command="ls -alrt | tail -1 | cut -c59-100"
command | getline logfile
close(command)
}
{
while((getline<logfile)>0){
#do the magic
print $0
}
}
私はawkですべてのことをしたいと思っていました。しかし、チップのおかげでありがとう。 –
あなたのコマンド= "..."はすでにawkの外に届いています。 Oreが述べたように、awkは入力ファイル(または標準入力)を必要とします。そのため、エコーをawkにパイプする必要があります。 –
コマンドについての真実= ""でもまだ:) これは、私がBEGINセクションから抜け出すためには、awkがある種の入力データを必要とするのを見てみましょう。悪い印Oresは答えとして答えます。 –