Удалите специальный шаблон ^ M из скрипта, который добавлен после FTP из окон в Unix

Я отправляю файл Windows, используя FTP, в систему Unix и добавляю ^M везде, где предполагалась новая строка, и я просто хочу их удалить.

Один из методов, который я могу выбрать, – запустить команду dos2unix .

Может ли кто-нибудь предложить другой метод, например sed удалить такие шаблоны?

  • Не удалось загрузить в windows
  • Где я могу узнать больше о том, как использовать команду GRUB `ntldr` (модуль?)
  • VNC-сервер Centos7 VNC-клиент Windows 10
  • SFTP и sudo с использованием клиента Windows?
  • Как перенести файлы с Windows на Ubuntu на Virtualbox?
  • Не удалось завершить работу Windows после установки GRUB
  • Ошибка сценария оболочки (: не найден )
  • Как исправить загрузчик GRUB (Windows 10 не работает)
  • 3 Solutions collect form web for “Удалите специальный шаблон ^ M из скрипта, который добавлен после FTP из окон в Unix”

    Окончания строк Windows состоят из двухсимвольной последовательности CR, LF. CR – символ возврата каретки, иногда представленный как \r , \015 , ^M и т. Д. Окончание строки Unix – это только символ LF.

    Способ преобразования окончаний строк Windows в конец строки Unix с использованием только стандартных утилит, присутствующих во всех вариантах Unix, – это использование утилиты tr .

     tr -d '\r' <thefile >thefile.new && mv thefile.new thefile 

    Если файл уже имеет окончание строки Unix, его содержимое не будет изменено.

    Если у вас есть много файлов для преобразования в текущем каталоге, вы можете использовать цикл. Предполагая, что у вас нет файлов, чье имя заканчивается на .new :

     for x in *; do tr -d '\r' <"$x" >"$x.new" && mv "$x.new" "$x" done 

    В Linux (за исключением некоторых встроенных систем Linux) или Cygwin вы можете использовать sed . Опция -i для редактирования файла на месте специфична для этих систем. Обозначение \r для символа CR является более распространенным, но не универсальным.

     sed -i -e 's/\r//g' thefile 

    dos2unix:

     sed -i -r -e 's/\r$//' file 

    Unix2Dos:

     sed -i -r -e 's/$/\r/' file 

    Использование sed :

     sed 's/^M//g' filename > newfilename 
    Interesting Posts

    Сценарий оболочки не запущен в crontab

    Как статически назначать сетевые интерфейсы USB-адаптерам беспроводной локальной сети

    Как печатать строки, если два поля имеют одинаковые значения?

    CentOS 7 – Не удается запустить OpenVPN Access Server

    динамический компоновщик / загрузчик libs – отсутствует ld.so

    Какой самый простой способ перейти от Linux Mint 13 до 14?

    Количество вхождений в текстовом файле, где первый символ после 12-го канала равен 1?

    Как добавить новые строки из другого файла с помощью sed

    vim заменить текст поиска, используя текст поиска

    Как сделать работу Wi-Fi на ноутбуке Dell Inspiron 14R под управлением Ubuntu 12.10?

    Вручную подключиться к точке доступа Wi-Fi (AP), несмотря на предварительно сконфигурированные точки доступа в wpa_supplicant

    Ошибка ImportError: отсутствие модуля с именем _struct при управлении пакетами

    Как найти, к чему относятся ссылки driver.mod.c?

    Нежелательные сообщения при каждом входе в систему?

    Завершение Zsh для монтирования (/ run / media / DISK-LABEL)?

    Linux и Unix - лучшая ОС в мире.