サーチ…


前書き

ファイルを複数の別々のファイルに分割すると便利なことがあります。大きなファイルがある場合は、それを小さな塊に分割することをお勧めします

ファイルを分割する

オプションを指定せずにsplitコマンドを実行すると、ファイルを1000行までの1つ以上の別々のファイルに分割することができます。

split file

これxaaxaaxabxacなどの名前のファイルが作成されます。各ファイルには、最大1000行までが含まれます。ご覧のように、デフォルトではすべてに接頭辞xが付いています。最初のファイルが1000行未満の場合、そのようなファイルは1つだけ作成されます。

接頭辞を変更するには、コマンドラインの最後に希望の接頭辞を追加します

split file customprefix

これで、 customprefixaacustomprefixabcustomprefixacなどのファイルが作成されます。

ファイルごとに出力する行数を指定するには、 -lオプションを使用します。以下は、ファイルを最大5000行に分割します

split -l5000 file

または

split --lines=5000 file

また、行の代わりに最大バイト数を指定することもできます。これは、 -bまたは--bytesオプションを使用して--bytesます。たとえば、最大1MBを許可するには

split --bytes=1MB file

wオプション付きのsedを使用すると、ファイルを複数のファイルに分割できます。ファイルは、行アドレスまたはパターンを指定することによって分割できます。

分割したいソースファイルがあるとします。

cat -n sourcefile

1 Ning Nang Nongについて
2牛がどこに行きますか?
3とサルはすべてBOO!
4 Nong Nang Ningがあります
5どこの木がPingに行くのですか?
6そして、お茶の鍋はジューバージャバージョーです。
7 Nong Ning Nangで

行番号でファイルを分割するコマンド:

sed '1,3w f1
> 4,7w f2' sourcefile

これは、ソースファイルから、行1から行3をファイルf1に書き込み、行4から行7をファイルf2に書き込みます。

cat -n f1

1 Ning Nang Nongについて
2牛がどこに行きますか?
3とサルはすべてBOO!

cat -n f2 

1 Nong Nang Ningがあります
2木がどこに行くか。
3そして、お茶の鍋はジューバー・ジャバー・ジョーを震わせる。
4 Nong Ning Nangについて

コンテキスト/パターンでファイルを分割するコマンド:

sed '/Ning/w file1
> /Ping/w file2' sourcefile

これにより、ソースファイルがfile1とfile2に分割されます。 file1にはNingに一致するすべての行が含まれ、file2にはPingに一致する行が含まれます。

cat file1

Ning Nang Nongについて
Nong Nang Ningがあります
Nong Ning Nangについて

cat file2

どこの木がPingに行くの!



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow