Назовите файлы после команды split

есть большой файл, который я разделил на bash. Я использую

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

, где задание 1 является входным файлом - как я могу изменить название выходного файла, чтобы он создавал задания1_1, задание1_2, gob1_3 ..., задание1_12 .....

Есть ли простой способ сделать это?

-1
задан 29 May 2015 в 11:48

2 ответа

TL; команда DR Your

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

помещает 20 000 строк на выходной файл с числовым суффиксом. Вход job1 и выходной префикс job1.

Поэтому измените выходной префикс от job1 кому: job1_


Ваша команда:

split -l 20000 -d job1 job1_

Избегайте начального нуля:

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

Избегайте начального нуля и запустите числовой суффикс с 1:

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

Пример 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

Пример 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

от 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
2
ответ дан 29 May 2015 в 11:48

Если то, что Вы имеете в виду, должно просто добавить подчеркивание тогда:

-l 20000-d "job1" разделения "job1 _"

0
ответ дан 29 May 2015 в 11:48

Другие вопросы по тегам:

Похожие вопросы: