![]() |
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 内部ループは、 whileループ | panknil | シェルプログラミングとスクリプティング | 0 | 2008年1月7日 12:49午後 |
| ループの場合 | xramm | HP - UX | 3 | 2007年10月10日 03:20午後 |
| whileループ | hemangjani | シェルプログラミングとスクリプティング | 2 | 2006年11月2日 11:01午前 |
| ループの | munnabhai1 | シェルプログラミングとスクリプティング | 3 | 2006年4月6日 03:30午後 |
| 同様の機能をどのように取得するwhileループまたはループの | trynew | シェルプログラミングとスクリプティング | 3 | 2002年6月17日 12:09午後 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
Awkの中でループ
どのようにするには、 Awkの中でループ。
私の列の変数があると言うことができます: 1 4 3 2 4 4 3 5 3 今私の列1 、 2と3の全ての要素を追加したりしますし、それぞれの要素数をして分けています。 列には、私のスクリプトには、引数として与えられる列\u003dの数 私\u003d我々は今のところ追加されている列 自分の欲しいものをやらなければならない、このための擬似コードです: 一方[列> 0 ] する Awkの' (和+ \u003d $私)エンド(印刷和/ NR " \ T "を) ' 私+ + コラム- 完了した だから結果、完成したときに実行されます: 2 6.5 3.333333 しかし、私は自分のwhileループ機能になることはありません。助けてください。これは私のコードです: ############################# 一方[ " $列" -グアテマラ0 ] する awk_cmd \u003d ` awkは、六\u003d $ 1 ' (和+ \u003d $私)エンド(印刷和/ NR ) ' ` " $データ| $ awk_cmd "エコー 私\u003d ` exprに$私+ 1 ` カラム\u003d ` exprに$列- 1 ` 完了した ############################# |
|
||||
|
この動作しますか?
コード:
awk -f temp.awk tempfile コード:
{ for(i=1;i<=NF;i++) { sum[i]+=$i } }
END { for (i in sum) {printf("%f\t", sum[i]/NR) } }
引用:
chn @ ranjの編集最終更新、 2007年8月30日に 11:41午前..理由:コメントを追加 |
|
||||
|
引用:
だから私のスクリプトはこれまでのところです: 猫$ 1 |はgrep "結果" |はgrep " "番号を取得| xargsの- $ 2 Ñ 多少はありませんし、上記の高度なコマンドが、これだけので、全体像を取得しています。このファイルを$ 1と列の番号を名前の値を$ 2で決定される列を生成します。 さて、私はそこから2ドルを変数になると、多くの列を知る方法はありません。多くが、 2月10日前後することができますだけで十分だというつもりはない。私は、各列を追加する必要があると述べ、前を通るし、各列の要素数を分割する。したがって、上記の場合、次のコマンドからの出力です: 4月1日 5月2日 6月3日 7月4日 8月5日 その結果、する必要があります: 6月3日 は、各列の平均となります。 私はこのように行ってきたが、それはうまくていないようです、 一方[ $ j > 0 ] する 猫一覧| Awkの' (和+ \u003d $私)エンド(印刷和/ NR ) ' 私\u003d $ [ $私+1 ] はJ \u003d $ [ $ j - 1 ] 完了した awkは$勇との問題を抱えているようだしかし、私は変数であることが必要だが、 awkは: awkは:違法なフィールド$ ( ) 、名は" i "を 入力レコード数が1 、ファイル ソースの行番号1 編集bagheraで最終; 2007年8月30日に 03:45午後.. |