シェルスクリプト総合 その25at UNIXシェルスクリプト総合 その25 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト53:名無しさん@お腹いっぱい。 15/09/10 07:50:58.43 .net $ grep -E 'aaa.*bbb|bbb.*aaa' か、GNU grep なら $ grep -P '(?=.*aaa)(?=.*bbb)' でもOK。 54:名無しさん@お腹いっぱい。 15/09/10 07:56:54.38 .net awk 使え awk '/aaa/&&/bbb/' 55:名無しさん@お腹いっぱい。 15/09/10 17:51:40.81 .net \& なんてどこに書いてあったの 56:名無しさん@お腹いっぱい。 15/09/24 23:16:07.36 .net 宣伝 【POSIX】UNIXプログラミング【BSD】 [転載禁止]©2ch.net http://peace.2ch.net/test/read.cgi/unix/1443103705/ 57:名無しさん@お腹いっぱい。 15/09/27 16:29:45.68 .net こんな風なテキストファイルlog.txtがあります %PART_A% a11 a12 13 a21 a21 a23 a31 a32 a33 %PART_B% b11 b12 b13 b14 b21 b22 b23 b24 b31 b32 b33 b24 このように%PART_x%(実はxはAとBがランダムに登場)で区切られながら 数行ずつ出力されているテキストを、値だけ(a11~b24まで)、5列で左詰めの CSV形式に整形するために、こんなスクリプトを作りました(ほとんどawkですが・・・) #!/bin/sh cat log.txt | awk 'BEGIN{FLG=0} /%PART_A%/{FLG=1; getline} /%PART_B%/{FLG=2; getline} {if (FLG==1) {print $1","$2","$3",0,0"} else if (FLG==2) {print $1","$2","$3","$4",0"} }' 期待通り動いてはいるのですが、フラグやgetline周りが、なんか力技?っぽくて 改善の余地があるように思ってます このような処理をawkで書くときって、どのように書くとよいのでしょう 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch