2014-09-13 4 views
24

Есть выход из sed:Использование тр заменить строку с пространством

http://sitename.com/galleries/83450 
72-profile 

Эти две строки должны быть объединены в один и разделены пространством, как:

http://sitename.com/galleries/83450 72-profile 

Две строки конвейеру tr в для замены новой линии:

tr '\n' ' ' 

И это не так. работа, результат такой же, как и вход.

Указывающее пространство с кодом ASCII '\032' приводит к замене \n непечатаемыми символами.

Что случилось? Я использую Git Bash в Windows.

+0

Я протестированные обжигающе текстовый файл с новой строкой Тг с тем же синтаксисом, и она работает. Как вы делаете трубку? Имеет ли файл новые строки и переводы строк? возможно, попробуйте «tr» \ r \ n '' '" –

ответ

37

Лучше всего предположить, что вы находитесь на окнах, а ваши настройки окончания строки установлены для окон. Смотрите эту тему: How to change line-ending settings

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

tr '\r\n' ' ' 
+0

Согласитесь о завершении строк в Windows. Быстрое исправление - файл dos2unix. Всем удачи. – shellter

+0

Ну, сценарий все еще имеет «\ r». Но не похоже, что он будет работать на то, что вы хотите. Он будет помещать все в одну строку, а не только по две строки за раз, а затем цикл FOR всегда будет проходить один раз. –

Смежные вопросы