Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Порезать текстовый файл кусками построчно  (Прочитано 794 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн hesoyamatogun

  • Автор темы
  • Активист
  • *
  • Сообщений: 343
    • Просмотр профиля
Есть текстовый файл из 10 к примеру строк, хочу порезать на 3 файла по 3 строки в каждом.
То-есть на выходе должно оказаться 4 файла, в первых трех по 3 строки, в последнем всего одна. Как это сделать?



ТС не появлялся на Форуме более полугода по состоянию на 09/09/2019 (последняя явка: 11/01/2019). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 09 Сентябрь 2019, 18:48:21 от zg_nico »

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4307
  • Capture the truth
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #1 : 12 Ноябрь 2017, 18:37:31 »
Код: Bash
  1. for i in `seq 1 3 $(sed -n '$=' ~/file)` ;do sed -n $i,$((i+2))p ~/file > ~/stroka_$i ; done
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн hesoyamatogun

  • Автор темы
  • Активист
  • *
  • Сообщений: 343
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #2 : 12 Ноябрь 2017, 18:54:40 »
Круто, а по проще никак?

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 824
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #3 : 12 Ноябрь 2017, 19:04:04 »
Круто, а по проще никак?
man split
например:
split -l 3 <имя файла>

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4307
  • Capture the truth
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #4 : 12 Ноябрь 2017, 19:08:39 »
точно, split жеж)  ;D
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2078
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #5 : 12 Ноябрь 2017, 19:12:20 »
Круто, а по проще никак?

Одна строка кода, куда ещё проще то?
Проще текстовым редактором, вырезать - вставить.

Оффлайн hesoyamatogun

  • Автор темы
  • Активист
  • *
  • Сообщений: 343
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #6 : 12 Ноябрь 2017, 19:40:24 »
Похоже то-что нужно.
А может ли порубить текст на указанные разные части. Например несколько файлов,(три) создать из одного 600 строчного. 100,200,300 строчные.

Оффлайн snowin

  • Активист
  • *
  • Сообщений: 824
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #7 : 12 Ноябрь 2017, 19:50:30 »
А может ли порубить текст на указанные разные части
сначало он текст захочет порубить, а там и до голов дело дойдет
все зависит от законодательства твоей страны, если оно подобное разрешает - так тому и быть
и не плохо бы посоветоваться с религиозными деятелями и народными депутатами
а то не известно куда это тебя может завести
(на правах шутки, сори, не ударжался)

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4307
  • Capture the truth
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #8 : 12 Ноябрь 2017, 20:20:11 »
hesoyamatogun, подставляйте нужные значения в сплит.
а если разные значения количества строк - тут пригодится мой код выше.
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #9 : 12 Ноябрь 2017, 23:56:07 »
Код: Bash
  1. awk 'BEGIN{split("100 200 300", a);n=1;c=0}{c++;fn=FILENAME"_"a[n];print>>fn;if(c==a[n]&&a[n+1]){n++;c=0}}' file
100 200 300 - части.
file - исходный файл.

Оффлайн hesoyamatogun

  • Автор темы
  • Активист
  • *
  • Сообщений: 343
    • Просмотр профиля
Re: Порезать текстовый файл кусками построчно
« Ответ #10 : 13 Ноябрь 2017, 11:36:14 »
Спасибо, будем разбираться.

 

Страница сгенерирована за 0.394 секунд. Запросов: 22.