皆さんのお知恵をお貸し頂ければ幸いです。
Perlで以下のようなことをしたいと考えています。
例えば、次のようなテキストファイルがあったとします。
example.log
==================================
aaaa
dada START
hogehoge
test
okok
perl
dodo END
script
==================================
上記ファイルを読み込んで、「START」から「END」が含まれた間の行だけ抜き出したいのです。
イメージとしては、読み込んだファイルを一行づつ読ませ、キーワード「START」が現れたらそこでフラグを立て、それ以降の行を表示し、キーワード「END」が現れた時点で表示を止めるという処理になるのかな?と思っています。
このような場合、どういう風にすればいいのでしょうか?
恐れ入りますが、ご教授頂ければ幸いです。
それでは、どうぞよろしくお願い致します。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
以下のようにしてください。
STARTとENDの行は出力しません。
open(INFILE,"example.log");
$flag = 0;
while(<INFILE>){
if ($flag == 0){
if ($_ =~ m/\sSTART$/){
$flag = 1;
}
}else{
if ($_ =~ m/\sEND$/){
$flag = 0;
next;
}
print $_;
}
}
close INFILE;
No.3
- 回答日時:
目印行も出力するなら、
perl -n -e 'print $_ if /START/../END/' filename.txt
しないなら、
perl -n -e 'print $_ if (/START/../END/) && !/START|END/' filename.txt
No.2
- 回答日時:
まずは思いついた内容をコード化して検証する。
それで躓いたなら質問を立ててみた方が宜しかったのでは?
最初の『ファイルの読み込み』からわからないって訳ではないのでしょ?
No.1
- 回答日時:
私だったら、まさに
> 読み込んだファイルを一行づつ読ませ
> キーワード「START」が現れたらそこでフラグを立て
> それ以降の行を表示し
> キーワード「END」が現れた時点で表示を止める
というプログラムにします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ゆるやかでぃべーと タイムマシンを破壊すべきか。
これはディベートの論題だと仮定したうえでの回答お願いします。あなたは、その末にタイムマシンを壊してしまうのか、使い道を探すのかどうかを考えてもらいたいです。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Perlで特定行から特定行までを抜き出したい
Perl
-
ディレクトリのファイル数取得
Perl
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルアップロード時の経過表示
-
ファイルロックの仕方
-
ExcelをCSV書き出す場合のシー...
-
エクセルVBA コードが同じでも...
-
バッチファイルの作り方(CSV→...
-
openした後、closeしないでプロ...
-
python renameについて
-
VBAでCSVファイルを途中行まで...
-
VBAでCSVファイルの特定行を書...
-
1行がやたら長いテキストをバッ...
-
コンソール出力をテキストに出...
-
batファイルでrenameができませ...
-
FindFirstFileとFindNextFileで...
-
CSVファイルの内容を編集する方...
-
close()で例外が投げられる理由
-
Edge スクレイピング
-
system関数と引数について
-
XML::Parserの parsefileの結果...
-
一定時間が経過したフォルダの削除
-
データが消えてしまう
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perlで特定文字列から特定文字...
-
flock関数についてですが、
-
ユーザー登録型のサイトを作成...
-
.WFAファイルを変換する
-
ファイルロックの仕方
-
perlのエディタでおすすめを教...
-
ファイルから読込んだ文字列か...
-
unixでテキストファイルの編集...
-
RSS自動生成で文字化け
-
エクセルVBA コードが同じでも...
-
ExcelをCSV書き出す場合のシー...
-
VBAでCSVファイルを途中行まで...
-
バッチファイルの作り方(CSV→...
-
batファイルでrenameができませ...
-
awkスクリプトでダブルクォーテ...
-
VBAでCSVファイルの特定行を書...
-
close()で例外が投げられる理由
-
openした後、closeしないでプロ...
-
VBAで巨大なファイルの途中から...
-
vba dir の相対パス
おすすめ情報