5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

awkについて語るスレ

1 :たれ:02/06/09 02:09
まぁなんだ、Perlがあるからそんなもんいらんというのが結論かも
しれんが、awkにはPerlに無いエレガントさがある。
その辺愛好する人の発言きぼんぬ

2 :デフォルトの名無しさん:02/06/09 02:10
ニダ

3 :デフォルトの名無しさん:02/06/09 04:27
処理系の無料/有料
文法の具合と特徴すらわからーん

4 :デフォルトの名無しさん:02/06/09 04:35
>>3
ベル研謹製の本紹介ページでも見れ
http://cm.bell-labs.com/cm/cs/awkbook/

5 :デフォルトの名無しさん:02/06/09 09:56
BASICの次にやったのがAwkでした。
C言語の勉強に最適だと思いますよ。インタプリタだし。
ただし、正規表現と文字列型がないとやっていけなくなる罠。
素人にはお勧めできない。

6 :デフォルトの名無しさん:02/06/09 10:06
>>1が「awk」をどう読むかによってスレの流れは変わる。


7 :デフォルトの名無しさん:02/06/09 10:06
>>5
漢字違うよ

8 :デフォルトの名無しさん:02/06/09 10:08
awkの守備範囲はawk使うのが吉

9 :デフォルトの名無しさん:02/06/09 10:16
入力ファイル無しで動かしたいときってどうしてる?
今は
echo aaa | awk -f 〜.awk
ってやってるんだが、もっとスマートな方法ないんかね

10 :デフォルトの名無しさん:02/06/09 10:29
awk -f 〜.awk /dev/null でしょ
GNU awk なら /dev/null は不要

11 :デフォルトの名無しさん:02/06/09 10:31
awk -f hoge.awk[RET]
aaa

ってことじゃないの?

12 :デフォルトの名無しさん:02/06/09 10:36
>>1 は?

13 :10:02/06/09 10:39
awk -f 〜.awk <<EOF
そーだったのか!
EOF


14 :9:02/06/09 10:52
具体的には
testdata000001
testdata000002
・・・
・・・
testdata009999

ってのつくるのに
===hoge.awk====
for(i=0;i<10000;i++)
{
printf("testdata00%04d\n",i);
}
===============

echo aaa | awk -f hoge.awk > output.dat
と実行してるがなんかダセェ・・・

15 :デフォルトの名無しさん:02/06/09 11:10
viからawk使うのがたまらん
しかし10行程度の修正だと
手で打った方が早かったりする罠

16 :デフォルトの名無しさん:02/06/09 11:35
>>14
% for i in `seq 0 10`; do printf "aaa%3d\n" $i; done > file
こんなのとかダメ?
# zsh だけど他のは知らん

17 :16:02/06/09 11:39
bash でもできた。
でも zsh ならもっと簡単なのが多分ある。。

18 :デフォルトの名無しさん:02/06/09 11:42
zsh
printf "testdata00%04d\n" {0..9999} > output.dat

19 :デフォルトの名無しさん:02/06/09 11:52
gawkの日本語パッチはどうなってるのかな。
教えてエロい人!

20 :たれ:02/06/09 12:44
漏れはNTなので、mawkを使ってるが。
ちなみに入力ファイルなしのときは、すべてをBEGIN{}のパートに
入れてしまう。


21 :たれ:02/06/09 12:48
しかし、漏れはトッパンの「プログラミング言語AWK」を買っておいた
ので助かってるが、トッパンがつぶれて以後マトモな教科書ってある
んだろうか。

22 :デフォルトの名無しさん:02/06/09 13:32
アホが作った言語。

23 :るびきち:02/06/09 14:22
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> awk=あほ

24 :デフォルトの名無しさん:02/06/09 19:38
>>21
AWKの教科書なんて、man awkで十分だよ。

25 :24:02/06/09 19:46
一番多いのは、/^$/{......}かな。

Windowsだと、ファイル1つでやれるから楽チン。

26 :デフォルトの名無しさん:02/06/09 20:01
おれ最近、

『プログラミング言語AWK』
発行 株式会社シイエム・シイ 出版部
発売 シーブック24ドットコム株式会社
ISBN4-901280-40-6
C3055 \3300E

を買ったよ。買ったのは、ラオコンだったかな。あとは、

オライリー・ジャパン『sed & awkプログラミング』
ISBN4-900900-58-3

だな。

ASCII『AWKを256倍使うための本』
ISBN4-7561-0612-3
C3055 \1165E

というのもまだ買えるね。

トッパン潰れたのか。良書を結構出してたと思ったが。
良書なんか出してたらダメなんだろうな、今の時代。

27 :たれ:02/06/09 20:50
>>23
まぁたしかにAho先生も制作者に入ってるわけだが( ・・)/


28 :たれ:02/06/09 20:53
>>26
トッパンが出してた本の再販ができたのはめでたいことではある。

ASCIIの256倍ははっきり言って裏技集に近いので、初心者には
お薦めできない。

しかし、漏れは大学の研究室に入るなりsedと正規表現の特訓を受けたので
awkもどうにか使えてるが、今時の若いもんはどうしてるんだろう。

29 :デフォルトの名無しさん:02/06/09 21:31
>>28
コマンド組み合わせるより Perl 使っちゃった方が手っ取り早い。
sh の構文覚えるのがちょっと大変なんだよね。
空白一つでエラーになったりするのが。

30 :デフォルトの名無しさん:02/06/09 21:36
正直、perlがあるのに積極的にawk使う意義って何かある?
何か意義を見いださないと使おうっていう気には・・

31 :デフォルトの名無しさん:02/06/09 21:40
>>30
軽い。用途に合わせて適切に道具を選ぶのがカッコイイ。

32 :デフォルトの名無しさん:02/06/09 21:43
>>30
今日、旧式SUNの不具合見に行ったら、
ディスク使用量をみるにもdu/lsがサイズでソートできない。
Perlもlessもないって状況。
du -k | awk '{printf("%08d %s\n", $1, $2);}'|sort
こんな風にしてメールスプールの使用量のでかいユーザーの
順位表を作ってきた。
GNUツールなしのSUNとかってまだまだある。

33 :デフォルトの名無しさん:02/06/09 21:47
>>32
そういや最近の Solaris も /opt/fsw /opt/gnu はオプションインストールだしね。

34 :たれ:02/06/09 22:22
>>30
漏れの場合、「awkを覚えた後になってPerlが登場した」てのが一番でかいな。
Perlが最初に出てきたときに見て、「これならawkでも十分」と考えて以降Perlを
使ったことがない。CGIとかいじる仕事でもしてれば別だったかもしれんが。


35 :デフォルトの名無しさん:02/06/09 22:36
あと、WINDOS上ではPerlの漢字処理の不具合があるってことと、
PerlやRubyはフロッピー一枚では持ち歩けないがawkでは可能って
ことがある。

36 :デフォルトの名無しさん:02/06/09 23:04
awkに後方参照と拡張正規表現がほすい

37 :デフォルトの名無しさん:02/06/09 23:39
>>24
awk聖書を知らないのか?

38 :デフォルトの名無しさん:02/06/09 23:40
>>28
初心者は裏技から入る

39 :デフォルトの名無しさん:02/06/10 01:09
awkはCを使えれば覚えること少なくて済むのがイイ

40 :たれ:02/06/10 01:15
>>39
しかしawkを覚えてもcは使えないと言う罠
おまけにあらゆる事をawkで済ましてしまうのでタダでさえ知らないcを
さらに忘れてしまうという


41 :AWK猫。:02/06/10 01:32
オレのAWK猫。「猫に真珠。」などとくだらないギャグを
言ったせいでPerlを覚えてくれない。はっきり言って
仕事に支障が出ている。済まなかった。反省している。
だからそろそろPerlを覚えて欲しい。ver.4.36で構わな
い。頼む。


42 :デフォルトの名無しさん:02/06/10 01:47
Perlスレが上にあるのでちょっと・・・
Perlを覚えたらawkなんて覚える必要はないよね?

43 :デフォルトの名無しさん:02/06/10 01:49
二次元配列はawkの方が直感的

44 :shige:02/06/10 02:01
            __,,,,_
            /´      ̄`ヽ,
            / 〃  _,ァ---‐一ヘヽ
         i  /´       リ}
          |   〉.   ‐-  -‐ {!
          |   |    ー・‐ く‐・‐|
           ヤヽリ ´゚  ,r "_,,>、 ゚i
         ヽ_」     ト‐=‐ァ' !   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ゝ i、   ``二´' 丿 < Rubyさいこー
              r|、` '' ー--‐f´    \_______
         _/ | \    /|\_
       / ̄/  | /`又´\|  |  ̄\




45 :デフォルトの名無しさん:02/06/10 02:03
>>42
フロッピー一枚持って外出すればどこででも
使えるawk。
対して
ダウンロードして環境変数を
設定せにゃならんPerlは他人のPCを借りて
使う場合にめんどくさい。
MSインストーラ版だとレジストリも汚染される。


46 :shige:02/06/10 02:04
AWKなんて過去の遺物、いや汚物
    ゝ、,,_  . . . . . , ./;::::;;;;;;;;/  ,,i/'''""""''''‐- 、ヾi   ;;;;;;;;;;;;;;;;;;ヾ;;;;;;;;;;;;;;;;;;;i;;;;;;;;;;;;;i;;;;:::::ヽ;;;;;;;;;;::::::;;;;i
  /. . . . "''''''':":":~i ;;;::l::;;;;;;;/ ,"    @    ヽ、   ;;;;;;;;;;;;;;;;;;;ヾ、;;;;;;;;;;;;;iヾi;;;;;;;;;i;;;;;;:::::ヽ;;;;;;;;;:;:::;;;;i
  ヽ. . . . . . . . : : : : : :i ;;:il::;;;;;;i  ゝ、,,,,,,,____      ヽ    ;;;;;;;;;;;    ヾ、;;;;;i  i;;;;;;;i;;;;;;;;:::::ヽ;;;;;;;;;;;:;;;;i
   ´"ヽ. . . : : : : : : : i ;;;i i:;;;;;;i ,,,,;;;;;;;;;;;;;;;;;~""''‐---‐"       _、-- 、 "゙'  l.i;;;;;;i;;;;;;;;;:::::i i;;;;;;;;;;;;;;;;i
=-''''""~~ヽ___..,,-‐''ヾ";;;;i i;;;;;;i,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,,         ",, @ ~"' 、 !;;i;;;;;i;;;;;;;;;;:::::i i;;;;;;;;;;;;/
     /:::;;i ヽ";;;;;;ヾ;;;;,i ヽ、i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,         ~"''〜、,,_,,) .i;;i;;;/;;;;;;;;;;;::::i .i;;;;;;;;;;/
     /::;;;;; i  ヾ;;;;;;/ヽ、;i ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                i;i;/、;;;;;;;;;;;;::/ i;;;;;;;;/
    r"、;;;;;;/ヽ  "''i  ` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    r--、_    ;;;;;;;;;;;;  /、,,ヾ;;;;;;;;;/ /;/
   i' ;;;; i ;;i::;;;;;i゙ヽ、__ヽ    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;    i:::::::::::)  ;;;;;;;;;;;;;;;;;;;;  ヽ;;;i;;;;;;;/ヾ/
   /! ;;;;; i..;i:;;;;;i:i;;;;;;;;;i_、'    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.    i::::::::/  ;;;;;;;;;;;;;;;;;;;;;;;   !;/;/  ヾ
  /.i ;;;;;;;; i.i:;;;;i::i::;;;;;;;;;i ヽ    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;     i:::::/  ;;;;;;;;;;;;;;;;;;;;;;;;   i  rヽ   ヾ
ヽ i';;;i ;;;;;;;;; i'""i:::i::::;;;;;;;i、  ヽ    ;;;;;;;;;;;;;;;;;;;;;;.       ゝ"  ;;;;;;;;;;;;;;;;;;;;;;    ,' i' ;;; i   ヾ::,r-
;;;;ヽ,r'i, ;;;;;;; i  i:::ヽ:::::;;;;ヽ  `i'‐、                   ;;;;;;;;;;;;;;;;;   ,,x' i' ;;;;;; i   /;;;;
;;;;;;ヽ-' ;;;;;;;, i  \ヽ:::::::::ヽ  i l"'-、_                    _,,,-_'"  i ;;;;;;;; i  /;;;;;; /
;;;;;;;;;;;;;;;;;;;;;;;; i   \、::::::::ヽ  ヽ   "''-、_              _,,..-''" ,,;; /ヽ_i ;;;;;;;; i /;;;;;;;; /ヾ


47 :デフォルトの名無しさん:02/06/10 02:21
自分もawkはperlを先に覚えたんでぜんぜんやらなかったな。
その前にsedを使ってたのでperlの方がなじみやすかった
ということもある。

48 :47:02/06/10 02:29
まだDOSの頃の話だけど awk は N88-BASIC や Perlより実行速度が
2倍程度遅かったというのも awk をやらなかった理由の一つだったな。
今と違ってCPU性能が低いので割と大きな問題だった。

49 :デフォルトの名無しさん:02/06/10 02:45
>>46
その勢いで Ruby から begin を無くして下さいな。

50 :デフォルトの名無しさん:02/06/10 21:07
>>48 その代り、Perlはダスエキスパンダーとか使わないと走らなかった

51 :デフォルトの名無しさん:02/06/10 22:56
awkでやるかperlでやるかで悩むことってあんまないな。
むしろexcelでやるかどうか一瞬迷う方が多い。

52 :shige:02/06/10 23:44
go64

53 :デフォルトの名無しさん:02/06/10 23:49
多くを語ることなかれ。


54 :デフォルトの名無しさん:02/06/10 23:51
awk をやりすぎると風邪引くんだってよ。
おお、くしょん。
なんて。


55 :デフォルトの名無しさん:02/06/11 01:18
開発環境に標準でawkはあるがperlはない、という状況。
4,5人ならいいけど何十人分のwinマシンにperlのインストールなんか
やってらんない。
ちょっとしたフィルタがほしいときにCで作るとバイナリを配布することに
なるがawkならたんなるテキストなので気兼ねがいらない。
CVSでソースと一緒にしておけばみんなが勝手に更新するのでらくちん。
でも、こんな環境は特殊かも。


56 :デフォルトの名無しさん:02/06/11 14:32
>>54
http://auctions.yahoo.co.jp/

57 :デフォルトの名無しさん:02/06/12 02:06
唐突にAwk関連の支援ツールとか紹介してみたり。

おーくの友達
ttp://homepage2.nifty.com/mozu/winToy/winToy.html
copal
ttp://homepage1.nifty.com/kaityo/copal.html
clipsed
ttp://hp.vector.co.jp/authors/VA021567/


58 :デフォルトの名無しさん:02/06/12 21:44
awkはいまだに関数つくったことないな

59 :木村 キタキタマシーン:02/06/12 21:46
>>54
ワラタ

60 :デフォルトの名無しさん:02/06/14 10:23
awkってなんて読むの? アォク? エゥク?

61 :デフォルトの名無しさん:02/06/14 10:25
>>60
オークでしょう。

62 :デフォルトの名無しさん:02/06/14 10:29
多くは語れない

63 :たれ:02/06/15 00:10
多くは聞かないでくれ


64 :デフォルトの名無しさん:02/06/15 00:16
不気味にたたずむ謎のホ tail awk ラ。
awk の怪奇現象が起こるという。
その awk にはなにが潜んでいるのか。



65 :デフォルトの名無しさん:02/06/15 16:08
ファイルを1行ずつ読み込んでなにかする処理の場合、
PerlやRubyやPythonより簡単に書けるのでは?
ファイルをオープンして、読み込んで、って所を書かなくていいから。


66 :デフォルトの名無しさん:02/06/15 16:15
>>65
CSVのように何たら区切りファイルなんかの扱いも楽だよね。

67 :名無しさん@カラアゲうまうま:02/06/15 16:45
PerlもRubyも-aオプションあるけどね。

68 :mu:02/06/17 02:09
>>55
ファイルサーバ上のPerlを使うんだったら一台一台にインストールする必要は
ないぞもし。


69 :shige:02/06/17 03:03
Rubyも小さいよ

70 :デフォルトの名無しさん:02/06/17 03:04
shigeの胸も小さいよ

71 :shige:02/06/17 05:01
oioi

72 :デフォルトの名無しさん:02/06/17 05:33
出先の雲丹クス屋のおっさん
何でもこれとシェルでパイプして片づけやがんの・・・・  (´д`;)
いや確かにそう言うものなんだけどさ


73 :名無しさん@カラアゲうまうま:02/06/17 12:58
「何でも」の種類によるな

74 :デフォルトの名無しさん:02/06/17 15:14
>>72
尊敬すべき old type だな。

75 :デフォルトの名無しさん:02/06/17 22:47
>>72
それで仕事が早くなるならいいね。
つーか、そうなりたい。

76 :デフォルトの名無しさん:02/06/19 14:08
どきどきawk対決先手オレ

・ファイルAAAAAを使ってファイルBBBBBを作ってね。
 制限時間1分

【AAAAA】
gksid
・・・
・・・
・・・
resdf

【BBBBB】
SELECT * FROM tableA WHERE id = 'gksid';
・・・
・・・
・・・
SELECT * FROM tableA WHERE id = 'resdf';


77 :デフォルトの名無しさん:02/06/19 19:31
>>76
awk '{ printf("SELECT * FROM tableA WHERE id = '%s';\n",$1)}' AAAAA>BBBBB

78 :名無しさん@カラアゲうまうま:02/06/19 22:41
sed "s/.*/SELECT * FROM tableA WHERE id = '&'/" AAAAA > BBBBB


79 :デフォルトの名無しさん:02/06/21 02:14
今更awkですか。

80 :デフォルトの名無しさん:02/06/21 03:00
>>79 コラー!! awkヲナメルナヨッ!!


81 :デフォルトの名無しさん:02/06/21 03:06
・ファイルAAAAAを使ってファイルBBBBBを作ってね。
 制限時間1分

【AAAAA】
gksid 13566
・・・
・・・
・・・
resdf 94564

【BBBBB】
SELECT * FROM tableA WHERE id = 'gksid' AND num = 13566;
・・・
・・・
・・・
SELECT * FROM tableA WHERE id = 'resdf' AND num = 94564;

82 :デフォルトの名無しさん:02/06/21 03:22
>>81
>>77-78

83 :デフォルトの名無しさん:02/06/21 03:41
なんとなくPerl

perl -ane "printf \"SELECT * FROM tableA WHERE id = '%s' AND num = %s; \n\",@F" AAAAA>BBBBBB


84 :デフォルトの名無しさん:02/06/21 12:42
awkについては多くを語るまい。

85 :78:02/06/21 16:23
sed "s/ /' AND num = /;s/^/SELECT * FROM tableA WHERE id = '/;s/$/;/" AAAAA > BBBBB

つーか>>78は;見落としてたよ。

86 :デフォルトの名無しさん:02/06/21 21:01
・ファイルAAAAAとBBBBBを使ってファイルCCCCCを作ってね。
 制限時間1分

【AAAAA】
gksid
・・・
・・・
・・・
resdf

【BBBBB】
13566
・・・
・・・
・・・
94564

【CCCCC】
SELECT * FROM tableA WHERE id = 'gksid' AND num = 13566;
・・・
・・・
・・・
SELECT * FROM tableA WHERE id = 'resdf' AND num = 94564;

87 :78:02/06/21 22:28
paste -d' ' AAAAA BBBBB |
sed "s/ /' AND num = /;s/^/SELECT * FROM tableA WHERE id = '/;s/$/;/" > CCCCC

つーか、宿題は宿題スレでやれ。ぼけなす。


88 :デフォルトの名無しさん:02/06/22 02:44
awkでやれよう

89 :awk初心者:02/06/22 12:19
>>81
awk 'BEGIN{FS=" "};{printf("SELECT * FROM tableA WHERE id = '%s' AND num = %s;\n",$1,$2)}' AAAAA > BBBB


90 :デフォルトの名無しさん:02/06/22 13:36
>>89
FSは必要ないと思う。
ちなみにgawkだったら-Fオプションで指定できる。

91 :デフォルトの名無しさん:02/06/29 18:18
awkの制限でハマッタ人とかいる?
入力レコード長が3000byteまでなんてビクーリしたよ
fieldは100までだっけ?

92 :デフォルトの名無しさん:02/07/06 14:19
保守sage。

93 :デフォルトの名無しさん:02/07/10 01:01
hoshu

94 :デフォルトの名無しさん:02/07/13 22:46
ほしょ

19 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)