- 締切済み
AWK 使い方
AWKの勉強を始めようとしています。 本に載っている例を実際に試すにはどうすればいいのでしょうか? 一応、gawk 3.1.5 for Windowsをディスクトップにダウンロードしたんですが、その後、どーすればいいでしょうか???(パソコン環境はXPになります。) ダウンロードする場所が間違っているんでしょうか? ファイルを開きましたが、どうやって使えるようにすればいいのか解りませんし、命令文はどこに書けばいいのかも解りません・・・。 使えるようにするにはどうすればいいでしょうか? 全く、プログラミングの経験がなく解りません。 処理したい、データはエクセルで作成しても大丈夫なんですか? 本に載っている例を実際に試すにはどうすればいいのでしょう・・・ 出来れば、ダウンロードした後、こうすれば使えるようになると言う事を詳しく教えてくださいませんか? よろしくお願いします。
- unagitokyo
- お礼率33% (2/6)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数4
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4836/10237)
解凍すると、gawk.exeがあると思いますが、それをC:\Windowsに移動させましょう(もう使わなくなったら削除)。 コマンドプロンプトを開きます。notepad test.txt でメモ帳を開いて、 {print NR,":",$0} と1行だけ書いて保存&終了。 行番号を付けるスクリプトです。 次に、notepad in.txt で入力となるデータを適当に数行書きます。保存したら、 gawk -f test.txt in.txt > out.txt と打ちます。結果を、notepad out.txt で見ると、行番号が付いているはず。 excelのデータの場合は、csvファイルで保存します。こんな感じで実行。 gawk -F, -f script-for-excel.txt excel-data.csv > out-data.txt
関連するQ&A
- Windowsでawkを使う
Windows XPでawkをしてみたいのですが、webサイトを調べてみるとUNIXなら標準でついてるということを知りました。 "Windows Services for UNIX"とかいうのを見かけたのですが、これでawkが使えるようになるのでしょうか。また"gawk"なるものがあるようですが、どこからダウンロードできるのかよくわかりません。 awkをWindows上で使えるようにするための方法を教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- awkとsedはセットで覚えたほうがいいですか?
仕事でときおりテキストファイルを加工することがあります。 最近awkを初めて使い簡単に処理できることが実感できました。 awkの本を探して調べていたら、「sed & awkプログラミング 改訂版」 を発見し、タイトルにsedとawkとあるので、"awkとsedはセット"なのかと かんじました。 awkを勉強するならsedも一緒に覚えたほうがいいのでしょうか?
- ベストアンサー
- Linux系OS
- awk:LinuxとWindows
ど素人の質問で申し訳ありません。呆れずに読んでいただければ幸いです。 今、WindowsXP上で、awkで.csvファイルの分析をやっています。 5万行くらいの数値データを標準偏差等を計算しながら、標準偏差の0.1倍を元の数値が超えたらその値をマークしろ、0.2倍だとどうか、0.3倍だとどうか、何倍にすれば良いのか等パラメーターを探しております。 計算方法とパラメーターは上記では標準偏差について書きましたが、その他に2~4種類くらいあります。 やっていることは、 1.パラメーターをfor文で逐一変えていく 2.パラメーターと計算方法によって元の数値を計算 3.if文で条件にあったところを抽出 4.最後まで行ったら1.に戻り、パラメーターを変えて再度データを頭から。 ということをしております。 最初はExcel-VBAでやっていたのですが、遅いし、そうだ、awkでできる、と思ってawkで組んでみました。 awkならUnixでも動くよな(本家だし)、と気付きました。 そこで質問です。 UnixとWindowsでawkの実行速度は違うでしょうか? Windows用のawkでも、プログラムによって速度が結構違うようですが。 Windows用でもLinux用でも、速いawkがありますでしょうか? あるいは、たぶん情報不足だと思いますが、Perl等の方が速いだろうというようなことはありますでしょうか?(触ったことはありません) 2コアや4コアのパソコン用CPUへの対応はどうなっているでしょうか? 今Athlonのx2を使っているのですが、Windowsのタスクマネージャーを見ると、awkプログラム一つ動かす毎にCPUを50%(CPU片方分目一杯)使っているような感じです。 例えばLinuxだと2CPUが協調して、100%で動作して処理時間が半分になるというようなことはあるでしょうか? また、WindowsXPですと、コマントプロンプト(DOS窓?)を2つ開けて、二つのawkを同時に実行させるようなこともできているのですが、Linuxだと可能でしょうか?(KDE?のような画面からawkってどうやって実行させるのでしょうか?) 有名だということでVine Linuxのダウンロードを考えておりますが、awkの実行速度という点でこれで良いでしょうか? インストールしてしまえばファイヤーウォールは標準で動いているんでしょうか? 光ケーブルのLan環境でネットに接続しているのですが、ケーブルを繋げば即ウェブにアクセスできるのでしょうか? ウィルス対策は標準でどうなっているのでしょうか? Windowsとは状況が違うと思いますが、アンチウィルスだのウィルスバスターだのそんな感じのソフトをインストールする必要があるのでしょうか? ご存じの範囲だけで構いませんのでよろしくお願いいたします。
- ベストアンサー
- Linux系OS
- xlsm形式の拡張子
現在、 『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』 という本でExcel VBAのプログラミングの勉強をしているのですが、 この本で学習する上で、 http://www.shuwasystem.co.jp/books/7980/1797-3/1797-3.html こちら↑のページからダウンロードして 実際につくってみましょう、という内容なのですが、 ダウンロードしましたが、ファイルを開くことができません。 私のパソコンはVistaを使用していて、 ExcelはMicrosoft Office Excel2007なのですが、 xlsmのファイルを開くにはどうしたらいいのでしょうか? 教えてください、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 繰り返し文の利点について
プログラミングにおいて繰り返し文を使うことは多いと思います。その利点とは同じ処理を何回も書かなくて良いという点だけでしょうか? for文while文、それぞれについて上記以外の利点があれば教えてください。
- ベストアンサー
- C・C++・C#
- こづかい帳のような集計のアルゴリズムって?
こんばんは。gawkとbashを用いてlogの集計を行っています。 その際にお小遣い帳のような機能を実現することがなかなか出来ずに 困っています。perlだったら、ネットでもかなり情報が豊富だし、 書籍も多いと思うけど、awkってUNIXの基本的な知識ってことでUNIX管理系の 書籍にちょこっと載ってるってケースが多いですよね。それか ものすごく分厚い本でなかなかなじめないようなのとか。。。助けて下さい。 例えば 1/1 gohan 1000 1/1 kaimono 5000 1/1 kaimono 2000 1/2 karaoke 3500 1/2 gohan 1200 1/2 gohan 1500 といったデータがあったとして、これを 1/1 gohan 1000 1/1 kaimono 7000 1/2 karaoke 3500 1/2 gohan 2700 のように集計したいのです。月日の部分を基点にして、1/1の部分についてだけ for(i in count)の形式を用いて集計する。その後1/2の部分について集計する。 というのをずーっと続けていくには、どのようなスクリプトを書けば いいんですか?教えて下さい。どうかお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 連立方程式を解く
プログラミングを始めたばかりなのですが、連立方程式を解くためには、どうすればいいんでしょうか? テキストボックスとボタンは設置したのですが、そこから先が進みません。どのような命令文を入れたらいいのかもわかりません。 いずれは本を買うつもりでいますが、どなたか詳しい方がいたらわかりやすく教えて下さい。お願いします。 ビジュアルベーシックの基礎から教えていただくと嬉しいです。 また、おすすめの本がありましたら、それも教えて下さい。
- 締切済み
- Visual Basic
- GOTO文がない言語・・・
僕は最近プログラミングにハマっています。 僕が最初にプログラミングに触れたのは、DSi wereの「プチコン」というゲームを作れるソフトを残高が余っているのが理由で、興味半分でインストールした時でした。 それからプログラミングにどんどんのめり込んでいって、今は自分のホームページに Javascriptを埋め込んでみたり、Androidアプリの開発に挑戦したりしています。 そのプログラミングを楽しむ日々で、いつも疑問に思うことがあります。 「なぜプチコンの『Smile Basic』言語以外に、『GOTO文』と『ラベル』をつけることができる言語が少ないのか」 単純な上の文から実行していくプログラムのソースに、 @◯◯(◯は任意で設定できる)を書き込んでおいて、 あとの命令に『GOTO文』を記述して、同時にラベル名を指定することで、 指定したラベルの部分まで戻って、そのラベル以下の命令を繰り返し実行したり、 処理を飛ばしたりすることができます。 ところが、他の実際にアプリ開発などに使われている言語には、 『ラベル』も『GOTO文』もあまり見かけません。 どうして、簡易的な言語『Smile Basic』にあった『GOTO文』が、 他の言語にはあまり使われていないのでしょうか????
- ベストアンサー
- その他(インターネット・Webサービス)
- while文に関する質問
初心者的な質問なんですが while文の中でfor文の処理はできるのでしょうか (コンパイラがないから試せない) 後C++を勉強するのにお勧めの本などがあったら紹介してください
- ベストアンサー
- C・C++・C#
お礼
お返事がおそくなって本当にすみません。 助かりました!! パスワードを忘れてしまい、ログイン出来ませんでした・・・。 なんとか出来ましたありがとうございます。