2017-01-27 9 views
2

プログラムを実行するときにawkプログラムをファイルで実行させることは可能ですか? 。プログラムを実行するときにファイル名を入れずにawkスクリプトを実行する方法

私はこれを実行しようとしたが、何らかの理由でそれは動作しません、これは動作しませんし、どのように私はそれがこのプログラムに

#!/bin/awk -f 
BEGIN{ 
ARGV[1]="books" 
} 
{ 
split($0,a,":") 
if(a[4]!="-"){ 
n[a[2]]=n[a[2]]+1 
print $0","n[a[2]] 
} 
} 
END{ 
for(x in n){ 
print n[x] 
} 
} 

を動作させるか、なぜ誰かが を説明してくださいすることができ、私はそれを作ってみましたファイル名のブック上で実行するが、それはまだARGVに要素を追加するなど

+0

スクリプトとファイル名でawkを起動するラッパースクリプトを作成する必要があります。 – melpomene

+0

それは唯一の方法ですか? –

答えて

5

を同様に動作しない、あなたはARGCをインクリメントする必要があります。

#!/bin/awk -f 
BEGIN{ 
    ARGV[1]="books" 
    ++ARGC 
} 
から

[ARGV中]の追加要素を保存し、ARGCをインクリメントするには、追加ファイルが読み込まれます。

関連する問題