ど素人の質問で申し訳ありません。呆れずに読んでいただければ幸いです。
今、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とは状況が違うと思いますが、アンチウィルスだのウィルスバスターだのそんな感じのソフトをインストールする必要があるのでしょうか?
ご存じの範囲だけで構いませんのでよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
>UnixとWindowsでawkの実行速度は違うでしょうか?
>Windows用のawkでも、プログラムによって速度が結構違うようですが。
Windows版だと、gnu-awk(いろんなOSで動く汎用のソース)と、win32用に書き下ろされた版とあると思うので、おそらく後者のほうが速いかと思います。その代わり、言語仕様がLinux版と異なる可能性があります。私はgnu版を使ってますが、速度比較したことは無いですね。何時間もかかる処理はしないので、速度は気にしてません。
>Windows用でもLinux用でも、速いawkがありますでしょうか?
上に書きましたが、Linuxだとまず間違いなくgnu-awkなので同じです。
>Perl等の方が速いだろうというようなことはありますでしょうか?
処理内容によるとしか言いようが無いですが、Perlのほうが高度な機能を持っているので、awkだと自分でロジックを書くところがPerlだと言語の機能で簡潔に書けるとしたら、Perlのほうが速いです。
また大きな処理をすることも想定されているので、おそらく同じような処理でもPerlのほうが速いでしょう。
>2コアや4コアのパソコン用CPUへの対応はどうなっているでしょうか?
内部でマルチプロセスで動くawkは無いと思います。
>Linuxだと可能でしょうか?(KDE?のような画面からawkってどうやって実行させるのでしょうか?)
OSによって多少違いますが、メニューバーからもしくは画面右クリックで「端末」を選ぶと擬似端末ウィンドウ(シェルプロンプトとでも呼ぶべきもの)が開きます。
>awkの実行速度という点でこれで良いでしょうか?
Linuxだと同じです。
>インストールしてしまえばファイヤーウォールは標準で動いているんでしょうか?
Vineは使ったことないのでデフォルトがon/offどちらかわかりませんが、インストール時に選択もしくはインストール後に設定(つまりWindowsと変わらない)。
>ケーブルを繋げば即ウェブにアクセスできるのでしょうか?
今のメジャーなLinuxだと、DHCP標準でFirefoxも付いてますね。
>ウィルス対策は標準でどうなっているのでしょうか?
これもWinodwsと同じ。付属はしてないが売っている。
>アンチウィルスだのウィルスバスターだのそんな感じのソフトをインストールする必要があるのでしょうか?
身元不確かなソフトをダウンロードするなら必要でしょう。
ありがとうございます。
Perlのコマンドを調べてみました。
sortが面白そうです。
実は出てきたデータの成績上位を抜き出すためにsortしなくてはならないなぁと頭を抱えていたところでした。
これならどうにか組めるかも知れないな、と思いました。
今動かしているプログラムは単純なのか、Perlのコマンドなら、ということは無さそうです。
Pealの方が速いかも、ということですので、Perlでも組んでみたいと思います。
Vineもこちらでどうにか使えそうなことが判りました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) F-BASICで計算中の実行が中途で勝手に止まり、大変困っています。 2 2023/03/02 16:15
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- 統計学 t検定について教えてください 2 2023/02/23 16:35
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- その他(プログラミング・Web制作) awkの正規表現での最左最短マッチング 3 2022/07/01 00:10
- その他(プログラミング・Web制作) awkの BEGIN{RS=""} で空行を削除できるが、削除できる仕組みが分からない。 1 2023/05/02 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux環境 grepで改行コード(CR...
-
awkのフィールド数制限について...
-
grepで日付指定してlogを取り出...
-
sed で \\ を含む文字列に置換
-
grepでの抽出箇所のみ置換して...
-
【シェルスクリプト】awkの結果...
-
テキストファイルの間引き削除...
-
フィールドでgrepみたいなこと
-
Dirコマンドでフォルダ内ファイ...
-
batである文字列内に特定の文字...
-
TOPコマンドで表示するCPU使用...
-
エクセルの表にヘンな枠が・・・
-
スクリプトのエラー「unexpecte...
-
シェルスクリプトでエラーが出ます
-
ファイル名についている「-」と...
-
UNIX コマンドにおける # や円...
-
IPアドレスだとPingが通るのに...
-
Linuxで*をつかってファイル移...
-
テキストファイルから最終行の抽出
-
SCコマンドでアクセス拒否
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Linux環境 grepで改行コード(CR...
-
grepで検索文字列が完全一致し...
-
grepで日付指定してlogを取り出...
-
grepで全角文字の行を抽出
-
sed で \\ を含む文字列に置換
-
フィールドでgrepみたいなこと
-
grepでの抽出箇所のみ置換して...
-
zshの文字列置換機能
-
テキストファイルの間引き削除...
-
【シェルスクリプト】awkの結果...
-
awkを用いて、特定の文字を含む...
-
特定文字列間の文字列の抽出の...
-
LINUXで半角の英数字以外の文字...
-
bashでブランク(空白)を検索文...
-
awkとsedはセットで覚えたほう...
-
awkのフィールド数制限について...
-
grepで変数が使えない
-
特定の文字列を含む行だけ削除...
-
sedコマンドで範囲指定しての部...
-
ファイルをある文字列で分割し...
おすすめ情報