FreeBSD初心者運用日記 このページをアンテナに追加

 | 

2011-04-23

csplitコマンドでファイルを分割するには 00:50 csplitコマンドでファイルを分割するには - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - csplitコマンドでファイルを分割するには - FreeBSD初心者運用日記 csplitコマンドでファイルを分割するには - FreeBSD初心者運用日記 のブックマークコメント

以下のように、日付毎にデータが格納されているファイルhoge.datがあるとする。

$ cat hoge.dat
[2011.03.01]
aaa
bbb
ccc

[2011.03.02]
aaa
bbb
ccc

[2011.03.03]
aaa
bbb
ccc

csplitコマンドで以下のように分割することができる。

$ csplit -f output. hoge.dat '/^\[.*\]/' {1}
26
26
28

$ ls -ltr | tail
-rw-r--r--   1 mao  wheel        80 Apr 24 00:35 hoge.dat
-rw-r--r--   1 mao  wheel        28 Apr 24 00:36 output.02
-rw-r--r--   1 mao  wheel        26 Apr 24 00:36 output.01
-rw-r--r--   1 mao  wheel        26 Apr 24 00:36 output.00

※ csplitコマンドのパラメタの最後に{1}としているが、これは分割するファイルが3つなので、2を引いた1を指定している。

分割するファイルが10なら2を引いて8を指定する。なぜ、そうするのかはまだわかっていない。

linuxだと{*}を指定できるらしいのだが、freebsdだとダメらしい。

 |