Есть ли команда Bash для преобразования \ r \ n в \ n?
Когда я загружаю свои скрипты из Windows в Linux, мне нужна такая утилита, чтобы все работало.
linux
bash
newlines
carriage-return
user25321
источник
источник
dos2unix
обычно доступен, иначеsed -e 's/\r$//'
dos2unix
для Unix / Linux, которая делает то, что вы хотите.Ответы:
Есть:
источник
Translate ( tr ) доступен во всех Unixes:
источник
\r
. Они очень необычные, хотя.С помощью sed и найдите конец
.txt, .php, .js, .css
:источник
Существует утилита Unix,
conv
которая может преобразовывать окончания строк. Это часто вызывается с мягкими ссылками наu2d
илиd2u
илиunix2dos
или илиdos2unix
.Дополнительно есть утилиты под названием
fromdos
иtodos
.источник
Использование man 1 ed (который редактирует файлы на месте без какой-либо предыдущей резервной копии - в отличие от: sed .. -i ".bak" ...):
источник
Делать это с POSIX сложно:
POSIX Sed не поддерживает
\r
или\15
. Даже если это так, опция на месте-i
не POSIXPOSIX Awk поддерживает
\r
и\15
, однако,-i inplace
опция не POSIXd2u и dos2unix не POSIX утилит , но бывший есть
POSIX бывший не поддерживает
\r
,\15
,\n
или\12
Чтобы удалить возврат каретки:
Чтобы добавить возврат каретки:
источник
Да, используйте
dos2unix
. Например:источник
(Каждый также существует для не-Ubuntu систем, но эти ссылки удобны.)
источник