アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
下記のようなファイル内容があるとします。
(あくまでも例です。実際はもっと複雑です。)
この内容の大阪府に関する部分だけを抽出したいと思います。
抽出方法はawkで抽出行数を指定する方法を考えていますが、
得られている情報は「大阪府 end」の行数だけです。
「大阪府 start」の行数を取得出来れば目的は達成出来るのですが、
その方法が分かりません。
awkで指定行数から上方向に検索をかけるということは可能でしょうか?
(下記例でいくと「大阪府 end」の行数から「大阪府 start」を検索し、
その行数を取得するということをやりたいです。)
可能であればその方法をご教授下さい。

awkで無理ならperlでの方法でも構いません。

<例>
●ファイルの中身
東京都 start
AAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDD
1000円
東京都 end
大阪府 start
AAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDD
10000円
大阪府 end
神奈川県 start
AAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDD
20000円
神奈川県 end
北海道 start
AAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDD
3000円
北海道 end




以上、宜しくお願いします。

A 回答 (12件中11~12件)

http://oshiete1.goo.ne.jp/kotaeru.php3?q=2348178

↑で質問した内容と同じように思えるのですが、その内容と今回は違うという事ですか?

あと、回答がありましたが、その時の質問の回答としては希望の事は出来なかったという事でしょうか?
    • good
    • 0
この回答へのお礼

ご認識の通りです。
上記にある
(下記例でいくと「大阪府 end」の行数から「大阪府 start」を検索し、
その行数を取得するということをやりたいです。)
ということがやりたいのですが分かりません。

お礼日時:2006/09/14 09:27

AWKしばらくやってないから、自信ないのですが…。



行数を調べるのでしょうか? それとも、
単にその部分を抽出すればいいのでしょうか?

抽出すればいいだけだったら、
下記のような感じのコードで行けるのではないかと思います。

BEGIN{
flag = 0;
Country = "大阪府";
}
$1~Country && $2~"start"{
flag = 1;
}
{
if(flag == 1)print;
}
$1 ~ Country && $2 ~ "end"{
flag = 0;
}
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
最終的には抽出をするのですが、その過程で該当行数を調べたいです。

上記の「「大阪府 end」の行数から「大阪府 start」を検索し、
その行数を取得するということをやりたいです。」ということをやりたいのですが可能でしょうか?
awkで指定した行数から上方向への検索というのは可能なのでしょうか?

お礼日時:2006/09/14 09:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!