2014-09-13 9 views
24

Czy wyjście z sed:Korzystanie tr zastąpić przełamane przestrzeni

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

Te dwa ciągi powinny zostać połączone w jedno i oddzielić z miejsca jak:

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

Dwa łańcuchy są potokowych do tr w aby zastąpić znak nowej linii spacją:

tr '\n' ' ' 

A to nie jest działa, wynik jest taki sam jak wejście.

Wskazanie miejsca z kodem ASCII '\032' powoduje zastąpienie \n znakami niedrukowalnymi.

Co jest nie tak? Używam Git Bash w systemie Windows.

+0

Testowałem potokiem plik tekstowy z nowymi liniami do tr z tej samej składni i to działa. Jak sobie radzisz? Czy plik zawiera znaki nowej linii i elementy linii? może spróbuj "tr" \ r \ n '' '" –

Odpowiedz

37

Najlepiej zgadujesz, że jesteś w systemie Windows, a ustawienia zakończenia linii są ustawione na okna. zobaczyć ten wątek: How to change line-ending settings

lub zastosowanie:

tr '\r\n' ' ' 
+0

zgadzam się na temat zakończenia linii Windows. Szybka naprawa to "plik dos2unix". Powodzenia wszystkim. – shellter

+0

Dobrze, że skrypt nadal ma "\ r". Ale nie wygląda na to, że zadziała, jeśli chcesz. Umieści wszystko na jednej linii, nie tylko na 2 liniach, a następnie pętla FOR zawsze przejdzie tylko raz. –