Как зарегистрировать разделение в [закрытом] номере строки

Я хочу разделить 400k строку долгий файл журнала от конкретного номера строки.

Для этого вопроса, позволяет, делают это произвольным числом 300k.

Существует ли команда Linux, которая позволяет мне делать это (в рамках сценария)?

Я знаю split позволяет мне разделить файл в равной степени или размером или номерами строки, но это не то, что я хочу. Я хочу к первому 300k в одном файле и последнему 100k во втором файле.

Любая справка ценилась бы.Спасибо!

Поразмыслив это больше подошло бы для суперпользователя или serverfault сайта.

93
задан denormalizer 9 August 2016 в 22:48
поделиться

1 ответ

file_name=test.log

# set first K lines:
K=1000

# line count (N): 
N=$(wc -l < $file_name)

# length of the bottom file:
L=$(( $N - $K ))

# create the top of file: 
head -n $K $file_name > top_$file_name

# create bottom of file: 
tail -n $L $file_name > bottom_$file_name

Кроме того, если подумать, разделение будет работать в вашем случае, поскольку первое разделение больше второго. Split помещает баланс ввода в последний разделитель, поэтому

split -l 300000 имя_файла

выведет xaa с 300 тыс. Строк и xab со 100 тыс. Строк для ввод с 400 тыс. строк.

177
ответ дан 24 November 2019 в 06:17
поделиться
Другие вопросы по тегам:

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