Linux Tips | |
![]() |
テキストファイルを任意の文字列で分割するには北浦訓行 |
「ファイルを分割するには」では、splitコマンドでファイルを分割する方法を説明した。
splitコマンドでは、ファイルサイズや行数などを指定してファイルを分割するが、任意の文字列によって分割することはできない。ここでは、任意の文字列によってテキストファイルを分割する方法を説明する。
テキストファイルを任意の文字列で分割する場合は、csplitコマンドを利用する。例えば、章単位(行頭に「第x章」という文字がある場合)でsample.docというファイルを分割する場合、以下のコマンドを実行すればいい。
$ cat sample.doc |
コマンドの引数として、最低でも分割元のテキストファイル(ここではsample.doc)と、「/」で囲んだ検索文字列(ここでは行頭にある「第1章」から「第9章」)、分割する回数(ここでは{*}としたので可能な限り分割)の3つを指定する。
上記のコマンドを実行した結果、「xx00」から「xx05」というファイルが作成される。sample.docの1行目に「第1章」という文字列があるため、xx00は0バイトのファイルになる。0バイトのファイルが作成されることを防ぐには、-zオプションを指定すればいい。
また、csplitコマンドでは、作成されるファイル名を前半(xxの部分)と後半(2けたの数字の部分)に分けて指定することもできる。前半は-fで、後半は-bの各オプションで指定する。-bにはprintf(「man 3 printf」で表示される)形式の変換文字列を指定するが、単純に数字のけた数を変更するだけであれば、「-n 4」のようにすればいい。
例えば、作成されるファイルを「sample<4けたの数字>」にして、0バイトのファイルを作成しない場合は、以下のように指定する。
$ csplit -z -f sample -n 4 sample.doc /^第[1-9]章/ {*} |
![]() |
Linux Tips Index |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
![]() |
||
|
||
![]() |
Linux & OSS 記事ランキング
- 「Llama2」やXの「Grok」などが不合格になったOSIの「オープンソースAIの定義 1.0」、その中身とは? 合格したAIは?
- インメモリデータベース「Redis 8」公開 再びオープンソースとして利用可能に
- Sysdig、「クラウド版Wireshark」をうたう「Stratoshark」をオープンソースで公開
- 全文検索エンジン「Elasticsearch」とデータ可視化ツール「Kibana」が再びオープンソースに
- 「Azure Linux」は「CentOS 7」の移行先になり得るか LinkedInの選択
- 上がり続けるOSS採用率、その理由は? 「2025 State of Open Source Report」で明らかに
- 「国連オープンソース原則」をOSIが公式支持 IT業界に与える影響は?
- Microsoft、WSLのアップデートを発表 新しい提供方式、tarベースのWSLディストリビューションアーキテクチャとは
- 上がり続けるOSS採用率、その理由は? 「2025 State of Open Source Report」で明らかに
- Microsoft、WSLのアップデートを発表 新しい提供方式、tarベースのWSLディストリビューションアーキテクチャとは
- 「国連オープンソース原則」をOSIが公式支持 IT業界に与える影響は?
- インメモリデータベース「Redis 8」公開 再びオープンソースとして利用可能に
- 「Llama2」やXの「Grok」などが不合格になったOSIの「オープンソースAIの定義 1.0」、その中身とは? 合格したAIは?
- 「Azure Linux」は「CentOS 7」の移行先になり得るか LinkedInの選択
- Linuxディストリビューション「Ubuntu 24.04.1 LTS」公開 新機能は? サポート期間は?
- 全文検索エンジン「Elasticsearch」とデータ可視化ツール「Kibana」が再びオープンソースに
- オープンソースハイパーバイザー「Xen 4.20」公開 セキュリティとパフォーマンスが向上