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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как записывать каждое слово на новой строке?  (Прочитано 1057 раз)

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

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Здравствуйте.
Подскажите, есть txt, в него иногда записываются слова. Одно, три, десять, по разному.
Нужно чтоб каждое записывалось на новой строке.
типа такого
большая
синяя
собака

Иногда случается такое
большаясиняясобака хз почему
Прочел про возврат каретки/перевод на новую строку, но что-то не получается осуществить.
Как писать каждое слово на новой строке?

слова добавляются так
cat qq.txt >> file.txt

Спасибо.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6733
  • 20% Cooler
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #1 : 07 Октября 2020, 01:08:26 »
cat qq.txt
в терминал правильно выводит?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #2 : 07 Октября 2020, 01:26:16 »
ALiEN175,
видимо нет, сейчас только одно слово, выводится так

cat qq.txt
синяяroot@ubuntu:~

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6733
  • 20% Cooler
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #3 : 07 Октября 2020, 01:28:58 »
cat qq.txt | tr -d '\r' | iconv -t UTF8 А так?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #4 : 07 Октября 2020, 09:30:18 »
ALiEN175, без изменения. Всё слитно.

большойroot@ubuntu:~

Оффлайн Smorman

  • Активист
  • *
  • Сообщений: 322
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
Re: Как записывать каждое слово на новой строке?
« Ответ #5 : 07 Октября 2020, 10:07:47 »
Если от Пользователя, то:
echo -e 'твоё_слово_или_твой_текст' >> file.txt
Если от Суперпользователя, то:
sudo sh -c "echo 'твоё_слово_или_твой_текст' >> file.txt"
« Последнее редактирование: 07 Октября 2020, 10:09:58 от Smorman »
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #6 : 07 Октября 2020, 10:32:07 »
Smorman, текст в другом файле находится. Он переносится не на каждую строку по слову, а так --> всеслитноводнустроку.

Оффлайн jurganov

  • Старожил
  • *
  • Сообщений: 1419
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #7 : 07 Октября 2020, 12:37:59 »
покажи другой файл, я думаю, что проблемы в нем

Оффлайн Smorman

  • Активист
  • *
  • Сообщений: 322
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
Re: Как записывать каждое слово на новой строке?
« Ответ #8 : 07 Октября 2020, 12:38:49 »
Smorman, текст в другом файле находится. Он переносится не на каждую строку по слову, а так --> всеслитноводнустроку.

Надо было правильно сформулировать тогда, а то про другой файл ни слова.
Догадайся сам получается...  :)

Пользователь добавил сообщение 07 Октября 2020, 12:49:37:
Он переносится не на каждую строку по слову

А каким образом пишется текст в qq.txt?
cat qq.txt всего лишь выводит его содержимое, а каким образом попадают/пишутся туда слова?
« Последнее редактирование: 07 Октября 2020, 12:49:37 от Smorman »
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6733
  • 20% Cooler
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #9 : 07 Октября 2020, 13:54:14 »
Ввысь, выложите файл qq.txt отдельно
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн altwazar

  • Активист
  • *
  • Сообщений: 430
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #10 : 08 Октября 2020, 13:15:55 »
слова добавляются так
cat qq.txt >> file.txt
В qq.txt нет символа новой строки. Надо смотреть как он формируется, обычные текстовые редакторы его ставят.
Но если лень, то всегда можно сделать
cat qq.txt | grep ".*" >> file.txt
Тупо, но сработает  ;D
« Последнее редактирование: 08 Октября 2020, 13:20:29 от altwazar »

Оффлайн Smorman

  • Активист
  • *
  • Сообщений: 322
  • When In Rome, Do As The Romans Do...
    • Просмотр профиля
    • Compizomania
Re: Как записывать каждое слово на новой строке?
« Ответ #11 : 08 Октября 2020, 21:46:57 »
cat qq.txt >> file.txt

Я вот думаю, а в чём цинус файл.txt переводить в файл.txt с переносом строки, если сразу сделать запись слов/текста с переводом строки в первый файл.txt?! :)
OS: Ubuntu 22.04 'Jammy Jellyfish' LTS, Arch Linux + Openbox, W11 Home
PC: Lenovo H530, CPU: i5-4430 3.0, Video: nVidia PCI-X
SSD: SAMSUNG EVO870 1T, SSD: 2хSAMSUNG EVO870 500G, RAM: 16G, ODD

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #12 : 08 Октября 2020, 23:16:29 »
ALiEN175, файл http://https://cloud.mail.ru/public/3S69/4BLokCdAF
altwazar, воспользуюсь советом, мне на правильность как-то все равно, главное чтоб чтоб работало)
Smorman, ну qq это как бы временный, он стирается, а второй он уже постоянный. Как обычно говорят в таких случаях - Не я делал, работаем с тем что уже есть.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6733
  • 20% Cooler
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #13 : 08 Октября 2020, 23:22:18 »
Ввысь, нет переноса строки. Так что да - смотрите, как записываете.

Рабочие варианты:
echo 'Word' >> qq.txt
printf '%s\n' 'Word' >> qq.txt

Пользователь добавил сообщение 08 Октября 2020, 23:26:02:
слова добавляются так
cat qq.txt >> file.txt

Изначально проблема в qq.txt - рассказывайте, как туда попадают строчки.
(если переноса строк нет в qq.txt, то и в file.txt они не появятся)
« Последнее редактирование: 08 Октября 2020, 23:31:28 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Как записывать каждое слово на новой строке?
« Ответ #14 : 09 Октября 2020, 00:59:19 »
ALiEN175, в скрипте создающем файл есть вот такое

file_put_contents($this->pathIpBannedList . ".new", implode("\n", $res));

вроде как \n отвечает за перенос строки. Или я не прав?


 

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