Arquivos de nomes após o comando split

-1

há um arquivo grande que eu divido no bash. Estou usando

split -l 20000 -d "job1" "job1"

em que job 1 é o arquivo de entrada - como posso alterar a nomenclatura da saída para que ela produza job1_1, job1_2, gob1_3 ..., job1_12 .....

existe uma maneira fácil de fazer isso?

    
por user3069326 29.05.2015 / 10:48

2 respostas

2

TL; DR Seu comando

split -l 20000 -d "job1" "job1"

coloca 20000 linhas por arquivo de saída com um sufixo numérico. A entrada é job1 e o prefixo de saída é job1 .

Portanto, altere o prefixo de saída de job1 para job1_

Seu comando:

split -l 20000 -d job1 job1_

Evite o zero inicial:

split -l 20000 -d job1 job1_; rename 's/_0{1,}([0-9]+)/_$1/' job1_*

Evite o zero inicial e inicie o sufixo numérico com 1 :

split -l 20000 --numeric-suffixes=1 job1 job1_; rename 's/_0{1,}([0-9]+)/_$1/' job1_*

Exemplo 1:

% split -l 20000 -d job1 job1_
% ls -og job1*                
-rw-rw-r-- 1 10000000 Mai 29 16:03 job1
-rw-rw-r-- 1  1540000 Mai 29 16:09 job1_00
-rw-rw-r-- 1  1540000 Mai 29 16:09 job1_01
-rw-rw-r-- 1  1540000 Mai 29 16:09 job1_02
-rw-rw-r-- 1  1540000 Mai 29 16:09 job1_03
-rw-rw-r-- 1  1540000 Mai 29 16:09 job1_04
-rw-rw-r-- 1  1540000 Mai 29 16:09 job1_05
-rw-rw-r-- 1   760000 Mai 29 16:09 job1_06

Exemplo 2:

% split -l 10000 -d job1 job1_; rename 's/_0{1,}([0-9]+)/_$1/' job1_*
% ls -og job1*                                                       
-rw-rw-r-- 1 10000000 Mai 29 16:03 job1
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_0
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_1
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_10
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_11
-rw-rw-r-- 1   760000 Mai 29 16:23 job1_12
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_2
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_3
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_4
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_5
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_6
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_7
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_8
-rw-rw-r-- 1   770000 Mai 29 16:23 job1_9

de man split

SYNOPSIS
       split [OPTION]... [INPUT [PREFIX]]

-d, --numeric-suffixes[=FROM]
              use numeric suffixes instead of alphabetic; FROM changes the start value (default 0)

-l, --lines=NUMBER
              put NUMBER lines per output file
    
por A.B. 29.05.2015 / 16:09
1

Se o que você quer dizer é apenas adicionar sublinhado então:

% bl0ck_qu0te%     
por Yuri 29.05.2015 / 11:11