Как импортировать файл с правильным методом?

На самом деле я не в реальном Ubuntu.I'm в ubuntu на окнах 10. Если я нахожусь в реальной ubuntu.Я могу использовать эту команду

ls >list.txt

, чтобы получить текст file. И каждая строка содержит только один элемент (нет избыточного пробела)

Но если я на диске Windows

cd /mnt/d/VirtualNes/ ls >list.txt

Затем я получаю простой текстовый файл в ubuntu на windows 10

Итак, как получить файл, каждая строка которого содержит один элемент без пустого пустого?

1
задан 15 August 2017 в 22:16

6 ответов

Когда у нас были механические пишущие машинки ...

, было две вещи:

Возврат каретки, который переместил ролик назад, когда он достиг нужного края, и линейный канал, который перемещался ролик вверх так, чтобы головки типов не записывали поверх существующей линии, а пишут на новой строке.

https://stackoverflow.com/questions/6521685/why-does-windows-use-cr-lf

Вот более подробное объяснение истории и некоторые подробности о CR и LF: https://stackoverflow.com/questions/6521685/why-does-windows-use-cr-lf

Даже сегодня ... [!d9 ]

Windows использует CR / LF-коды в конце каждой строки, в то время как Ubuntu (Linux в целом) использует только код LF.

Когда вы открываете текстовый файл, созданный Ubuntu, реальным, или подсистема Windows для Linux (WSL), файл будет выглядеть нормально. Когда вы открываете тот же файл в Windows, все строки вместе.

Что вы можете сделать?

Сначала убедитесь, что текстовый файл, созданный WSL, фактически имеет имена файлов в отдельных строках :

cd /mnt/d/VirtualNes/
ls >list.txt
cat list.txt

В последней строке отображается содержимое list.txt в терминале Ubuntu. Вы должны увидеть, что файл выглядит нормально.

Ubuntu поставляется с текстовым редактором на основе терминала nano. Вы можете использовать его для редактирования текстового файла вместо «Блокнота»:

nano list.txt

С другой стороны, если вы откроете тот же файл в Windows с помощью notepad.exe, например, вы увидите, что линии перепутались , Вы получите те же результаты, если вы создадите аналогичный файл в «реальном» Ubuntu, а open - в Windows.

Если вы хотите открыть текстовые файлы, созданные в Ubuntu в Windows, вам придется преобразовать LF кода в конце каждой строки для кода CR / LF. Вы можете сделать это в приглашении Windows CMD (а не в терминале Ubuntu), введя:

TYPE list.txt | MORE /P > win_list.txt

Вы получите новый файл win_list.txt, который будет корректно открыт в Windows.

Существуют и другие способы сделать это, например, unix2dos и dos2unix утилиты. В Ubuntu вы можете установить обе эти утилиты с помощью следующей команды:

sudo apt install dos2unix

См. Https://stackoverflow.com/questions/17579553/windows-command-to-convert-unix-line-endings и https://stackoverflow.com/questions/3891076/how-to-convert-windows-end-of-line-in-unix-end-of-line-cr-lf-to-lf для более. [!d20 ]

Надеюсь, это поможет

3
ответ дан 22 May 2018 в 19:25

Когда у нас были механические пишущие машинки ...

, было две вещи:

Возврат каретки, который переместил ролик назад, когда он достиг нужного края, и линейный канал, который перемещался ролик вверх так, чтобы головки типов не записывали поверх существующей линии, а пишут на новой строке.

https://stackoverflow.com/questions/6521685/why-does-windows-use-cr-lf

Вот более подробное объяснение истории и некоторые подробности о CR и LF: https://stackoverflow.com/questions/6521685/why-does-windows-use-cr-lf

Даже сегодня ...

Windows использует CR / LF-коды в конце каждой строки, в то время как Ubuntu (Linux в целом) использует только код LF.

Когда вы открываете текстовый файл, созданный Ubuntu, реальным, или подсистема Windows для Linux (WSL), файл будет выглядеть нормально. Когда вы открываете тот же файл в Windows, все строки вместе.

Что вы можете сделать?

Сначала убедитесь, что текстовый файл, созданный WSL, фактически имеет имена файлов в отдельных строках :

cd /mnt/d/VirtualNes/ ls >list.txt cat list.txt

В последней строке отображается содержимое list.txt в терминале Ubuntu. Вы должны увидеть, что файл выглядит нормально.

Ubuntu поставляется с текстовым редактором на основе терминала nano. Вы можете использовать его для редактирования текстового файла вместо «Блокнота»:

nano list.txt

С другой стороны, если вы откроете тот же файл в Windows с помощью notepad.exe, например, вы увидите, что линии перепутались , Вы получите те же результаты, если вы создадите аналогичный файл в «реальном» Ubuntu, а open - в Windows.

Если вы хотите открыть текстовые файлы, созданные в Ubuntu в Windows, вам придется преобразовать LF кода в конце каждой строки для кода CR / LF. Вы можете сделать это в приглашении Windows CMD (а не в терминале Ubuntu), введя:

TYPE list.txt | MORE /P > win_list.txt

Вы получите новый файл win_list.txt, который будет корректно открыт в Windows.

Существуют и другие способы сделать это, например, unix2dos и dos2unix утилиты. В Ubuntu вы можете установить обе эти утилиты с помощью следующей команды:

sudo apt install dos2unix

См. Https://stackoverflow.com/questions/17579553/windows-command-to-convert-unix-line-endings и https://stackoverflow.com/questions/3891076/how-to-convert-windows-end-of-line-in-unix-end-of-line-cr-lf-to-lf для более.

Надеюсь, это поможет

3
ответ дан 18 July 2018 в 08:28

Когда у нас были механические пишущие машинки ...

, было две вещи:

Возврат каретки, который переместил ролик назад, когда он достиг нужного края, и линейный канал, который перемещался ролик вверх так, чтобы головки типов не записывали поверх существующей линии, а пишут на новой строке.

https://stackoverflow.com/questions/6521685/why-does-windows-use-cr-lf

Вот более подробное объяснение истории и некоторые подробности о CR и LF: https://stackoverflow.com/questions/6521685/why-does-windows-use-cr-lf

Даже сегодня ...

Windows использует CR / LF-коды в конце каждой строки, в то время как Ubuntu (Linux в целом) использует только код LF.

Когда вы открываете текстовый файл, созданный Ubuntu, реальным, или подсистема Windows для Linux (WSL), файл будет выглядеть нормально. Когда вы открываете тот же файл в Windows, все строки вместе.

Что вы можете сделать?

Сначала убедитесь, что текстовый файл, созданный WSL, фактически имеет имена файлов в отдельных строках :

cd /mnt/d/VirtualNes/ ls >list.txt cat list.txt

В последней строке отображается содержимое list.txt в терминале Ubuntu. Вы должны увидеть, что файл выглядит нормально.

Ubuntu поставляется с текстовым редактором на основе терминала nano. Вы можете использовать его для редактирования текстового файла вместо «Блокнота»:

nano list.txt

С другой стороны, если вы откроете тот же файл в Windows с помощью notepad.exe, например, вы увидите, что линии перепутались , Вы получите те же результаты, если вы создадите аналогичный файл в «реальном» Ubuntu, а open - в Windows.

Если вы хотите открыть текстовые файлы, созданные в Ubuntu в Windows, вам придется преобразовать LF кода в конце каждой строки для кода CR / LF. Вы можете сделать это в приглашении Windows CMD (а не в терминале Ubuntu), введя:

TYPE list.txt | MORE /P > win_list.txt

Вы получите новый файл win_list.txt, который будет корректно открыт в Windows.

Существуют и другие способы сделать это, например, unix2dos и dos2unix утилиты. В Ubuntu вы можете установить обе эти утилиты с помощью следующей команды:

sudo apt install dos2unix

См. Https://stackoverflow.com/questions/17579553/windows-command-to-convert-unix-line-endings и https://stackoverflow.com/questions/3891076/how-to-convert-windows-end-of-line-in-unix-end-of-line-cr-lf-to-lf для более.

Надеюсь, это поможет

3
ответ дан 24 July 2018 в 19:05

Это побочный эффект использования notepad.exe. Блокнот - очень простой редактор двоичных файлов, и он основан на приложении ms-dos 'notepad. Это требует CR / LF для новых линий, а не только для LF, как Linux и Linux-приложений (и, следовательно, подсистемы Windows для Linux / Bash на Ubuntu в Windows). Таким образом, он будет показывать все на одной строке, поскольку он никогда не видит CR / LF.

Другие приложения будут читать его правильно. Wordpad.exe будет читать вывод ls, как вы ожидаете. Как и Слово. Или IE. Или Chrome. Или любое современное программное обеспечение, разработанное в последнее десятилетие.

Вы можете обойти это для notepad.exe , подключив его к конвертеру.

unix2dos сделать это. Или используйте другие команды, например sed. Пример:

ls | sed -e 's/\r*$/\r/' > list.txt

Добавит CR в LF в конце, а notpad отобразит файл правильно.

0
ответ дан 22 May 2018 в 19:25

Это побочный эффект использования notepad.exe. Блокнот - очень простой редактор двоичных файлов, и он основан на приложении ms-dos 'notepad. Это требует CR / LF для новых линий, а не только для LF, как Linux и Linux-приложений (и, следовательно, подсистемы Windows для Linux / Bash на Ubuntu в Windows). Таким образом, он будет показывать все на одной строке, поскольку он никогда не видит CR / LF.

Другие приложения будут читать его правильно. Wordpad.exe будет читать вывод ls, как вы ожидаете. Как и Слово. Или IE. Или Chrome. Или любое современное программное обеспечение, разработанное в последнее десятилетие.

Вы можете обойти это для notepad.exe , подключив его к конвертеру.

unix2dos сделать это. Или используйте другие команды, например sed. Пример:

ls | sed -e 's/\r*$/\r/' > list.txt

Добавит CR в LF в конце, а notpad отобразит файл правильно.

0
ответ дан 18 July 2018 в 08:28

Это побочный эффект использования notepad.exe. Блокнот - очень простой редактор двоичных файлов, и он основан на приложении ms-dos 'notepad. Это требует CR / LF для новых линий, а не только для LF, как Linux и Linux-приложений (и, следовательно, подсистемы Windows для Linux / Bash на Ubuntu в Windows). Таким образом, он будет показывать все на одной строке, поскольку он никогда не видит CR / LF.

Другие приложения будут читать его правильно. Wordpad.exe будет читать вывод ls, как вы ожидаете. Как и Слово. Или IE. Или Chrome. Или любое современное программное обеспечение, разработанное в последнее десятилетие.

Вы можете обойти это для notepad.exe , подключив его к конвертеру.

unix2dos сделать это. Или используйте другие команды, например sed. Пример:

ls | sed -e 's/\r*$/\r/' > list.txt

Добавит CR в LF в конце, а notpad отобразит файл правильно.

0
ответ дан 24 July 2018 в 19:05

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

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