Как удалить разрывы строк из больших чисел? [dубликат]

Ваши документы Windows будут находиться в папке Users \ Documents and Settings \ (имя пользователя). Ваши документы Ubuntu будут находиться в папке / home / (username). Создайте резервную копию файлов, которые хотите сохранить, а затем отформатируйте весь диск как NTFS. Затем скопируйте свои документы.

Кстати, на снимке экрана, который вы опубликовали, отображается только раздел Windows. Ваш раздел Ubuntu - это, вероятно, либо «Том 732 ГБ», либо «Объем 41 ГБ» с левой стороны. (Разные разделы отображаются как разные тома.)

3
задан 26 December 2017 в 04:56

6 ответов

GEdit (и Libreoffice) не являются подходящими инструментами для этого.

Если я правильно понимаю, то вы хотите преобразовать

123456\n

в

123456

Используйте Perl, например:

perl -pe 'chomp' your_input_file.txt > without_newlines.txt

Обновление В входном файле оказалось не только разрывы строк, но также символ продолжения строки \ в конце, т. е.:

2.7182818284590452353602874713526624977572470936999595749669676277240766\
303535475945713821785251664274274663919320030599218174135966290435729003342952\
605956307381323286279434907632338298807531952510190115738341879307021540891499\
348841675092447614606680822648001684774118537423454424371075390777449920695517\
...

Чтобы удалить их (а также строки), выполните следующую команду:

perl -pe 'chomp; s/\\//;' your_input_file.txt > without_newlines.txt
4
ответ дан 22 May 2018 в 15:56
  • 1
    Я также не уверен, что \ n используется. LibreOffice не может найти экземпляры \ n, которые будут использоваться. Я также попытался найти \ r с нулевыми результатами. Я думаю, что, возможно, может возникнуть какой-то другой скрытый разрыв строки. – Nicole Sharp 25 December 2017 в 15:47
  • 2
    Для этого вам не нужны какие-либо навыки программирования. Откройте окно терминала, перейдите в каталог, в котором находится ваш входной файл ( с linebreaks) и выполните команду выше. В итоге вы получите второй файл без разломов. Это довольно просто. – PerlDuck 25 December 2017 в 15:47
  • 3
    Я попробовал. Все еще ждет новый текстовый файл, который был сгенерирован для загрузки в текстовый редактор. Любая идея, почему так много времени требуется для загрузки файла с 1 МБ открытым текстом, когда у меня есть 8 ГБ ОЗУ? :-( – Nicole Sharp 25 December 2017 в 15:53
  • 4
    Это потому, что все в одной строке. GEdit не предназначен для столь длинных линий. Во время ожидания вы можете выдать wc without_newlines.txt. Он показывает количество строк, слов и символов в вашем файле. Он должен вывести 0 1 1000000 в вашем случае. – PerlDuck 25 December 2017 в 15:58
  • 5
    Я смог загрузить новый текстовый файл в LibreOffice Writer. Тем не менее, LibreOffice Writer по-прежнему показывает те же разрывы строк, которые я получил бы, когда я удалил \\ и \ n в GEdit. Существует еще один вид разрыва строки, создаваемый Maxima или Terminal, который не является \ n, а Perl Chomp не распознает. – Nicole Sharp 25 December 2017 в 16:10

GEdit (и Libreoffice) не являются подходящими инструментами для этого.

Если я правильно понимаю, то вы хотите преобразовать

123456\n

в

123456

Используйте Perl, например:

perl -pe 'chomp' your_input_file.txt > without_newlines.txt

Обновление В входном файле оказалось не только разрывы строк, но также символ продолжения строки \ в конце, т. е.:

2.7182818284590452353602874713526624977572470936999595749669676277240766\ 303535475945713821785251664274274663919320030599218174135966290435729003342952\ 605956307381323286279434907632338298807531952510190115738341879307021540891499\ 348841675092447614606680822648001684774118537423454424371075390777449920695517\ ...

Чтобы удалить их (а также строки), выполните следующую команду:

perl -pe 'chomp; s/\\//;' your_input_file.txt > without_newlines.txt
4
ответ дан 18 July 2018 в 00:29

GEdit (и Libreoffice) не являются подходящими инструментами для этого.

Если я правильно понимаю, то вы хотите преобразовать

123456\n

в

123456

Используйте Perl, например:

perl -pe 'chomp' your_input_file.txt > without_newlines.txt

Обновление В входном файле оказалось не только разрывы строк, но также символ продолжения строки \ в конце, т. е.:

2.7182818284590452353602874713526624977572470936999595749669676277240766\ 303535475945713821785251664274274663919320030599218174135966290435729003342952\ 605956307381323286279434907632338298807531952510190115738341879307021540891499\ 348841675092447614606680822648001684774118537423454424371075390777449920695517\ ...

Чтобы удалить их (а также строки), выполните следующую команду:

perl -pe 'chomp; s/\\//;' your_input_file.txt > without_newlines.txt
4
ответ дан 24 July 2018 в 17:14

ИМХО Правильный способ сделать это - избежать копирования всего текста в тексте, записав вывод maxima непосредственно в файл:

x:bfloat(%e),fpprec:1000000$
stringout("my_big_number.txt",x);

$ вместо ; в первом выражении просто подавляется довольно большой консольный вывод.

Вы можете подтвердить, что в выходном файле нет дополнительных строк новой строки, используя wc:

$ wc my_big_number.txt
      2       1 1000006 my_big_number.txt

(в факт, есть еще одна новая строка, так как stringout, кажется, вставляет единственную пустую строку перед выходом, однако в самом номере нет ни одного).

Затем вы можете преобразовать текстовый файл в любой другой формат, который вы хотите - так как у вас установлен LibreOffice, используя его автономные фильтры преобразования:

$ libreoffice --convert-to pdf my_big_number.txt
$ xdg-open my_big_number.pdf 

В качестве альтернативы вы можете использовать утилиту LO unoconv командной строки LO:

$ unoconv -f pdf my_big_number.txt 

См. например, как конвертировать TXT в PDF?

5
ответ дан 22 May 2018 в 15:56
  • 1
    В моей системе (17.04) unoconv не установлен по умолчанию, но libreoffice --convert-to pdf meganapier.txt работает (частично): ошибка / функция, упомянутая OP, все еще применяется, то есть создает PDF-файл с 100 абзацами (по 10.000 символов). Кажется, это ограничение LibreOffice. Но +1 к лучшему maxima. – PerlDuck 25 December 2017 в 19:41
  • 2
    Хм ... Я тоже на 17.04 (с LibreOffice LibreOffice 5.3.1.2 и unoconv 0.7), и, похоже, у меня нет этой проблемы с любым методом преобразования - насколько я могу судить, PDF - это одно смежное абзаца (из 165 страниц + изменение с использованием стандартных букв в США) – steeldriver 25 December 2017 в 20:13
  • 3
    libreoffice --version дает LibreOffice 5.3.1.2 30m0(Build:2). Я использую формат бумаги A4 и получаю 196 страниц. В нижней части страницы одна строка на 1 символ короче, чем другие строки. Я отмечен, скопирован и вставил текст туда, в обычный редактор, и это было 10.000 символов. Однако. – PerlDuck 25 December 2017 в 20:36
  • 4
    Мне действительно нравится первый путь лучше. Вывод непосредственно из Maxima должен быть более чистым и лучше в теории, но сложнее открыть сгенерированный TXT-файл в GEdit таким образом (поскольку разрывы строк уже удалены), а LibreOffice по-прежнему помещает дополнительные строки в файл (оба TXT и PDF). Есть ли другой текстовый редактор графического интерфейса, который я могу использовать, который не будет разбиваться, как GEdit для больших однострочных текстовых файлов? – Nicole Sharp 25 December 2017 в 20:40
  • 5
    @NicoleSharp Я снова спрашиваю , что вы на самом деле хотите сделать с номером ? почему вам нужно открыть его в текстовом редакторе? – steeldriver 25 December 2017 в 20:51

ИМХО Правильный способ сделать это - избежать копирования всего текста в тексте, записав вывод maxima непосредственно в файл:

x:bfloat(%e),fpprec:1000000$ stringout("my_big_number.txt",x);

$ вместо ; в первом выражении просто подавляется довольно большой консольный вывод.

Вы можете подтвердить, что в выходном файле нет дополнительных строк новой строки, используя wc:

$ wc my_big_number.txt 2 1 1000006 my_big_number.txt

(в факт, есть еще одна новая строка, так как stringout, кажется, вставляет единственную пустую строку перед выходом, однако в самом номере нет ни одного).

Затем вы можете преобразовать текстовый файл в любой другой формат, который вы хотите - так как у вас установлен LibreOffice, используя его автономные фильтры преобразования:

$ libreoffice --convert-to pdf my_big_number.txt $ xdg-open my_big_number.pdf

В качестве альтернативы вы можете использовать утилиту LO unoconv командной строки LO:

$ unoconv -f pdf my_big_number.txt

См. например, как конвертировать TXT в PDF?

5
ответ дан 18 July 2018 в 00:29

ИМХО Правильный способ сделать это - избежать копирования всего текста в тексте, записав вывод maxima непосредственно в файл:

x:bfloat(%e),fpprec:1000000$ stringout("my_big_number.txt",x);

$ вместо ; в первом выражении просто подавляется довольно большой консольный вывод.

Вы можете подтвердить, что в выходном файле нет дополнительных строк новой строки, используя wc:

$ wc my_big_number.txt 2 1 1000006 my_big_number.txt

(в факт, есть еще одна новая строка, так как stringout, кажется, вставляет единственную пустую строку перед выходом, однако в самом номере нет ни одного).

Затем вы можете преобразовать текстовый файл в любой другой формат, который вы хотите, поскольку у вас установлен LibreOffice, используя его автономные фильтры преобразования:

$ libreoffice --convert-to pdf my_big_number.txt $ xdg-open my_big_number.pdf

В качестве альтернативы вы можете использовать утилиту LO unoconv командной строки LO:

$ unoconv -f pdf my_big_number.txt

См. например, как конвертировать TXT в PDF?

5
ответ дан 24 July 2018 в 17:14
  • 1
    В моей системе (17.04) unoconv по умолчанию не установлен, но libreoffice --convert-to pdf meganapier.txt работает (частично): ошибка / функция, упомянутая OP, все еще применяется, то есть создает PDF-файл с 100 абзацами (по 10.000 символов). Кажется, это ограничение LibreOffice. Но +1 к лучшему maxima. – PerlDuck 25 December 2017 в 19:41
  • 2
    Хм ... Я тоже на 17.04 (с LibreOffice LibreOffice 5.3.1.2 и unoconv 0.7), и, похоже, у меня нет этой проблемы с любым методом преобразования - насколько я могу судить, PDF - это одно смежное абзаца (из 165 страниц + изменение с использованием стандартных букв в США) – steeldriver 25 December 2017 в 20:13
  • 3
    libreoffice --version дает LibreOffice 5.3.1.2 30m0(Build:2). Я использую формат бумаги A4 и получаю 196 страниц. В нижней части страницы одна строка на 1 символ короче, чем другие строки. Я отмечен, скопирован и вставил текст туда, в обычный редактор, и это было 10.000 символов. Однако. – PerlDuck 25 December 2017 в 20:36
  • 4
    Мне действительно нравится первый путь лучше. Вывод непосредственно из Maxima должен быть более чистым и лучше в теории, но сложнее открыть сгенерированный TXT-файл в GEdit таким образом (поскольку разрывы строк уже удалены), а LibreOffice по-прежнему помещает дополнительные строки в файл (оба TXT и PDF). Есть ли другой текстовый редактор графического интерфейса, который я могу использовать, который не будет разбиваться, как GEdit для больших однострочных текстовых файлов? – Nicole Sharp 25 December 2017 в 20:40
  • 5
    @NicoleSharp Я снова спрашиваю , что вы на самом деле хотите сделать с номером ? почему вам нужно открыть его в текстовом редакторе? – steeldriver 25 December 2017 в 20:51

Другие вопросы по тегам:

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