пытался удалить ошибочные символы новой строки, созданные из Windows.
$cat -e file.xml
foo^M$
bar$
$
hello world1$
hello world2$
там, где должно быть «Foobar» без каких-либо новых строк между в то время как все новые строки должны быть сохранены. Я знаю, что в emacs мы могли бы заменить «^ M^J» на «RET», но у меня есть огромный файл, который я не хочу открывать, но только хотел использовать командную строку для его преобразования.
Я пробовал dos2unix
, но он удалил только часть «^ M», все еще создавая сломанное слово/предложение. Также попробовал tr -d '\r'
и sed 's:^M$::g'
или sed 's:^M$\n:\n:g'
, все не сработало. У кого-нибудь есть идея, как это сделать правильно?
Почему на выходе после строки 'bar' нет' ''? это любой другой символ пробела? Или это просто опечатка? – anishsane
@anishsane жаль, что это опечатка, и я ее исправил. – galactica