1

abc10行のテキストで名前が付けられた次のファイルとscript.awk、出力を印刷する行数として出力するファイルがあります(のようにtail)。この例では、最後の 3 行を出力しますが、次のコマンドを実行できるように、カウンターをユーザー入力として使用する必要があります。

$ awk -f script.awk abc <counter> 

どうすればいいですか?

abc

skdns;avbvbkabvbakv 
sad;vn;kns;anv;navvs
skdns;avbvbkabvbakv
sad;vn;kns;anv;navvs
skdns;avbvbkabvbakv
sad;vn;kns;anv;navvs 
skdns;avbvbkabvbakv  
sad;vn;kns;anv;navvs
skdns;avbvbkabvbakv 
sad;vn;kns;anv;navvs

script.awk

{
  arr[NR]=$0
}
END { 
   i=NR-3
   while(i<NR)
   {
       print arr[i+1]
       i++
   }
}
4

3 に答える 3

1

awk には、コマンド ラインから変数を設定するオプション '-v variable=value' オプションがあります。

于 2013-09-14T13:43:30.333 に答える