お世話になります。
ディレクトリにファイル群があるとします。
そのファイル群の中の特定のファイルの特定の個所を抽出し、別ファイルに吐くというシェルを組みたいのですが、
どのようにしたら良いでしょうか?
<例>
●ファイル群は作成された日付を持ちます。
売上_200601.txt、売上_200602.txt、売上_2006003.txt、売上_200604.txt・・・・・・
●ファイルの中身はある法則が成立しています。
(売上_20060101.txtの中身)
東京都 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
・
・
・
※都道府県の重複はありません
月毎の売上が纏められているファイルの中から特定の年月の都道府県売上分を抽出したいです。
抽出条件としましては「年月」「都道府県」が与えられます。
上記の例でいくと、「売上_200601.txt」の「東京都 start~東京都 end」までを抽出したいのです。
ファイルの特定は抽出条件の「年月」を元にfindコマンドにて導き出すことは可能なのですが、
中身の「東京都 start~東京都 end」をどのように抽出するのかが分かりません。
分かり難い内容に恐縮ですが、ご教授の程よろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
↓のような感じ。
awk '/^東京都 start/,/^東京都 end/{print}' ファイル
ただし、マルチバイト文字対応awkでないと正常に動作しないかもしれません。
No.3
- 回答日時:
#1>AWKを使う例
----------------------------------------------------------------
/^東京都 start$/,/^東京都 end$/{ print }
----------------------------------------------------------------
でイイと思います。
例えば、日本語をちゃんと認識するようになっていれば
上記をselect.awk という名前で保存してあるとすると
awk -f select.awk 売上_200601.txt
でうまくいくと思います。(gawk ではテストしました)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedriveの中身を削除したらパ...
-
Windows10 フォルダ内の自動並...
-
macのdmgファイル(動画)をMP4...
-
mrl→midファイルへ
-
Windows11 でのファイル削除
-
office365 ファイルを削除したい
-
MGRファイルは消して良いのか
-
バッチファイルで変数の中身を...
-
exFATに欠点はありますか?
-
WMP12のトラック番号編集...
-
tarの中のtarを閲覧するには。。
-
mac ファイルの詳細情報を編集...
-
スマホのLINEはファイル共有ソ...
-
分割されたrarファイルを結合す...
-
リナックスの特殊ファイル「ソ...
-
スマートフォンを警察が解析、復元
-
Puppy Linuxの個人保存ファイル...
-
Excellにて→ファイルエラー:デ...
-
.tmp.mp4と.mp4の違い
-
クラリスワークスのファイルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Winmerge ファイルの中身は同じ...
-
onedriveの中身を削除したらパ...
-
同期センターのマークが出てま...
-
バッチファイルで変数の中身を...
-
コマンドプロンプトによるフォ...
-
Windows10 フォルダ内の自動並...
-
教えてください!困ってます。
-
ファイルの先頭行を全て削除したい
-
emlをtxtに変換するには?
-
ファイルの単位
-
Windows11 でのファイル削除
-
クラリスワークスのファイルを...
-
Excellにて→ファイルエラー:デ...
-
office365 ファイルを削除したい
-
macのdmgファイル(動画)をMP4...
-
mac ファイルの詳細情報を編集...
-
ファイル操作(削除など…)の履...
-
linuxのエディタgeditは複数フ...
-
BAKファイルを非表示にする方法
-
mac 表示できなくなりました。
おすすめ情報