На самом деле я не в реальном Ubuntu.I'm в ubuntu на окнах 10. Если я нахожусь в реальной ubuntu.Я могу использовать эту команду
ls >list.txt
, чтобы получить текст file. И каждая строка содержит только один элемент (нет избыточного пробела)
Но если я на диске Windows
cd /mnt/d/VirtualNes/
ls >list.txt
Затем я получаю простой текстовый файл в ubuntu на windows 10
Итак, как получить файл, каждая строка которого содержит один элемент без пустого пустого?
, было две вещи:
Возврат каретки, который переместил ролик назад, когда он достиг нужного края, и линейный канал, который перемещался ролик вверх так, чтобы головки типов не записывали поверх существующей линии, а пишут на новой строке.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 для более. [!d20 ]
Надеюсь, это поможет
, было две вещи:
Возврат каретки, который переместил ролик назад, когда он достиг нужного края, и линейный канал, который перемещался ролик вверх так, чтобы головки типов не записывали поверх существующей линии, а пишут на новой строке.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 для более.
Надеюсь, это поможет
, было две вещи:
Возврат каретки, который переместил ролик назад, когда он достиг нужного края, и линейный канал, который перемещался ролик вверх так, чтобы головки типов не записывали поверх существующей линии, а пишут на новой строке.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 для более.
Надеюсь, это поможет
Это побочный эффект использования 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 отобразит файл правильно.
Это побочный эффект использования 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 отобразит файл правильно.
Это побочный эффект использования 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 отобразит файл правильно.