Linux a través del script de shell para cortar archivos grandes txt en archivos pequeños

  

Sistema Linux, algunos archivos txt son relativamente grandes, la transferencia a dispositivos móviles es muy inconveniente, entonces ¿pueden txt archivos grandes en múltiples archivos pequeños? ? De hecho, se puede lograr a través de scripts de shell. La siguiente serie pequeña le presentará el método para cortar archivos de texto grande a través de scripts de shell.

Solución:

1. utilizar primero el comando de división para cortar archivos de gran tamaño, cada pequeño archivo guardado un millón de líneas

parámetros de división:

-b: Puedes seleccionar el tamaño del archivo para dividirlo más adelante, puedes agregar unidades, como b, k, m, etc.;

-l: divide por el número de líneas;

# 按Dividir 1000 líneas por archivo, excepto

dividir -l 1000 httperr8007.log httperr

httpaa, httpab, httpac. . . . . . . .

# Dividido por 100K por archivo

split -b 100k httperr8007.log http

httpaa, httpab, httpac. . . . . . . .

2. Recorra las 1 millones de líneas de archivos, cree una por una y córtelas en 10,000 líneas de archivos pequeños

#! /bin /bash

bigfile = " 1.txt "

split -l 1000000 $ bigfile text

currdir = 1

para smallfile en ` Ls |  Grep " text * " `

do

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

n1 = 1

file = 1

savedir = " $ smallfile $ currdir "

if [! -d " $ savedir "]

luego

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`

hecho

currdir = `expr $ currdir + 1`

hecho

La anterior es una forma de usar el script de shell de Linux para cortar archivos grandes de txt en archivos pequeños. Si el archivo de txt es demasiado grande, puede usar el método de este artículo para cortar.

Copyright © Conocimiento de Windows All Rights Reserved