以前文字列抽出で質問させていただいたPerl初心者のものです。よろしくお願いします。
あるディレクトリ内にある全てのファイル(.txt)から
「”To”から始まる行」と「”01”といった2桁の数字から始まる行」のみ取り出し、1つのファイルにまとめたいと思ってるのですが、うまくできません。
<文字列を含むファイル:aaa.txt>
--------------------------
To 鈴木 太郎さん 1行目
:
01,りんご, 3 個, ナシ, 1個 14行目
02,キャベツ, 3 個, なす, 10本 15行目
:
--------------------------
このような内容のファイルが複数あり
結果として
--------------------------
鈴木 太郎,01,りんご, 3 個, ナシ, 1個
鈴木 太郎,02,キャベツ, 3 個, なす, 10本
山田 洋子,01,ぶどう, 3 個, もも, 1個
山田 洋子,02,たまねぎ, 5 個, なす, 10本
山田 洋子,03,牛肉, 1kg
山本 次郎,01,リンゴ, 5 個, バナナ, 5本
:
:
--------------------------
と一つのファイルにしたいのです。
どうやったらこの結果を出せるのか、ご教授よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
他の方が指摘されているように詳しいフォーマットがわからないですが
----------------------------------------------------------------
while(<>){
if(/To (.*?)さん/){
$user = $1;
}
if(/^\d\d/){
print "$user,$_";
}
}
----------------------------------------------------------------
とかして
>perl sample.pl aaa.txt bbb.txt … >all.txt
ぐらいでいいのかなぁと思います。
No.2
- 回答日時:
がると申します。
初心者さん相手に少々手厳しい内容で大変に恐縮ではあるのですが。出されている例題ですと
・なぜその入力からその出力になるのか
という部分(ロジックとか仕様とか呼称します)がまったく見えないので、このままでは誰も返答が出せないかと思います。
例えば、
> To 鈴木 太郎さん 1行目
> 01,りんご, 3 個, ナシ, 1個 14行目
> 02,キャベツ, 3 個, なす, 10本 15行目
の3行から
> 鈴木 太郎,01,りんご, 3 個, ナシ, 1個
> 鈴木 太郎,02,キャベツ, 3 個, なす, 10本
はまだ理解が出来るのですが、これに
> 山田 洋子,01,ぶどう, 3 個, もも, 1個
> 山田 洋子,02,たまねぎ, 5 個, なす, 10本
> 山田 洋子,03,牛肉, 1kg
がつくと、例えば「"01,りんご, 3 個, ナシ, 1個 14行目"という行があるとして、これは鈴木さんのか? それとも山田さんのか? をどうやって判断するのだろう」など、不明点が多々出てきます。
基本的には、こういったロジック部分を作るのが腕になってくるのですが。もしそのロジック自体が作れないのであれば、せめてできるだけのデータを出してもらえると多少なりと有効な回答が返せるのではないかと思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- その他(データベース) 20万行あるデータを動かしたい 2 2023/06/13 15:21
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- MySQL 【MySQL】本当に困っているので、助けてください。よろしくお願いします。 3 2023/06/03 14:24
- その他(ソフトウェア) 一太郎付属の”全件検索”ツールの不具合 3 2023/07/25 15:03
- 政治 首相になってほしい 1位河野太郎 2位小泉進次郎 3位石破茂 4位高市早苗 5位山本太郎 5 2022/09/27 11:35
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
openした後、closeしないでプロ...
-
perlをバージョンアップしたら...
-
テキストファイルで提出とは?
-
Perlで時間の計算
-
アルファベットに付いて質問し...
-
perlでリテラル値はメモリにど...
-
TeraPadエディターの操作方法に...
-
Perlのエラーについてご教授く...
-
AI sisterとは、偽物の人ですか?
-
ファイルアイコンの左下に緑の□...
-
perlのrequireの動き方について...
-
perlのプログラミング 部分入れ...
-
Strawberry Perl for Windows ...
-
perl 初等プログラミングについて
-
arduino の割り込み処理について
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
bashスクリプト
-
perlプログラミング 空白行削除
-
perlで2次元配列をサブルーチ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルで提出とは?
-
openした後、closeしないでプロ...
-
perlをバージョンアップしたら...
-
INDIRECT 横に再度抽出したい
-
Perl の外部モジュールの利用方法
-
Perlで特定文字列から特定文字...
-
Perlのエラーについてご教授く...
-
bashスクリプト
-
Strawberry Perl for Windows ...
-
perlで2次元配列をサブルーチ...
-
TeraPadエディターの操作方法に...
-
アルファベットに付いて質問し...
-
perlのflock関数でロックをかけ...
-
ファイルアイコンの左下に緑の□...
-
perlプログラミング 空白行削除
-
Wallpaper Engineでおすすめの...
-
Perlで時間の計算
-
perlのrequireの動き方について...
-
perlでリテラル値はメモリにど...
-
画像が表示でnull; this.src
おすすめ情報