1

Я хочу разбить файл на несколько файлов с максимум 25 строками каждый.

Я использую это:

split -l 25 /etc/adduser.conf > /home/ubuntu/PL/trab3/rc_

Но я не получаю ожидаемые файлы.

Как я могу получить файлы с именами файлов, такими как rc_01, rc_02 и т.д.?

2 ответа2

8

Перенаправление (знак > ) обрабатывается оболочкой и может выводить только в один файл, имя которого вы называете. Опустите символ > , чтобы /home/ubuntu/PL/trab3/rc_ передавался для split в качестве аргумента командной строки, чтобы он мог использовать его в качестве выходного префикса.

1

Split не поддерживает суффикс для имен выходных файлов. AFAIK поддерживает только префикс. Для текстовых файлов вы можете попробовать awk:

awk 'NR% 25 == 1 {i += 1; file = "/home/ubuntu/PL/trab3/rc" "_" sprintf("% 02d", i)} {print> file}' /etc /adduser .conf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .