Как разделить файл с помощью трюка в bash

#bash #split

#bash #разделить

Вопрос:

У меня есть два вопроса в split команде:

1) Как мы можем разделить огромный файл в этом формате?

 x0
x1
.
.
.
x10
.
.
.
  

2) Как мы можем разделить огромный файл в этом формате?

 0
1
.
.
.
10
.
.
.
100
.
.
.
  

То, что я пробовал, не является удовлетворительным, потому что результат:

 x00
x01
x02
.
.
.
x10
.
.
.
x100
.
.
.
  

Спасибо

Комментарии:

1. Я не понимаю вопроса.

2. Значит, вам нужно просто удалять x из каждой строки?

3. Я хочу удалить x и запускать файлы с одного числового суффикса…

4. Он начинается с x00, x001 … x10 …,x1000,… Но я хочу этот результат: x0, x1 … x10 … x100

5. Могу я объяснить вам, что я имею в виду? 🙂

Ответ №1:

Первый вопрос:

 >> ls
file
>> split -a 1 -d file
>> ls
file x0 x1 x2 x3 ...
  

Однако вы получите

 split: output file suffixes exhausted
  

с помощью этого метода, если будет более 9 разделенных файлов. Вы можете использовать

 >> split -d file
>> ls
file x00 x01 x02 ...
  

а затем использовать rename :

 >> rename 's/^x0/x/' x0*
>> ls
file x0 x1 x2 ...
  

Второй вопрос: используйте

 split -a 1 -d file ''
  

если у вас будет менее 10 разделенных файлов. В противном случае используйте

 split -d file ''
  

и затем

 rename 's/^0//' 0*