Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> Linuxでは、シェルスクリプトを使用して大きなtxtファイルを小さなファイルに分割しています

Linuxでは、シェルスクリプトを使用して大きなtxtファイルを小さなファイルに分割しています

  

Linuxシステムでは、一部のtxtファイルが比較的大きく、モバイルデバイスに転送するのが非常に不便です。 ?次の小シリーズでは、シェルスクリプトを使用してテキストサイズの大きいファイルをカットする方法を紹介します。

ソリューション:

1.最初の大きなファイルをカットするsplitコマンドを使用し、各小ファイルが保存されて百万行は

スプリット・パラメータを

-b:分割するファイルのサイズを後で追加したり、b、k、mなどの単位を追加したりできます。

-l:行数で分割します。

#¤分割するファイルごとに1000行

split -l 1000 httperr8007.log httperr

httpaa、httpab、httpac。 。 。 。 。 。 。 。

#ファイルごとに100Kで分割します。

split -b 100K httperr8007.log http:

httpaa、httpab、httpac。 。 。 。 。 。 。 。

2. 100万行すべてのファイルを調べて、1行ずつ作成し、10,000行の小さなファイルにカットします。

#! /bin /bash

bigfile =' 1.txt'

split -l 1000000 $ bigfileのテキスト

currdir = 1

in smallfile Ls |  テキスト*' `

do

linenum =` wc -l $ smallfile | grep  Awk‘ {print $ 1}’ `

n1 = 1

file = 1

savedir =' $ smallfile $ currdir'

if [! -d' $ savedir']

then

mkdir $ savedir

fi

while [$ n1 -lt $ linenum]

do

n2 = `expr $ n1 + 9999`

sed -n' $ {n1}、$ {n2} p' $ smallfile $ savedir /text $ file。 Txt

n1 = `expr $ n2 + 1`

file =` expr $ file + 1`

done

currdir = `expr $ currdir + 1`

done

上の例はLinuxのシェルスクリプトを使って大きなtxtファイルを小さなファイルにカットする方法ですが、大きすぎる場合はこの記事の方法でカットできます。

Copyright © Windowsの知識 All Rights Reserved