После преобразования файла с помощью команды **unix2dos** нем появляются пустые строки. Пожалуйста, помогите мне. Как справиться с этим?

Я попытался удалить пустые строки следующим образом, но не смог работать.

$ sed '/^$/d' /tmp/data.txt

Эй, следующие примеры тоже не сработали. Pl помощь

Это исходные данные перед использованием unix2dos.

ID NAME DATE

1 BALA 09/23/2013

2 KRISHH 09/24/2013

3 billy 09/24/2013

После использования unix2dos это выглядит как

ID NAME DATE

1 BALA 09/23/2013




2 KRISHH 09/24/2013

3 billy 09/24/2013

первая и вторая запись, есть пустая строка .. может быть в данных также

Спасибо

2 ответа2

0

В Unix символом новой строки являются «\n», а в окне «\r\n», чтобы преобразовать их, вам нужно заменить «\r\n» на «\n», или просто избавиться от всех «\r», если вы используйте notepad++, он может сделать преобразование для вас, а также все, что с поиском и заменой должно работать.

\n = новая строка

\r = возврат каретки

Google "Unix конец строки" для получения дополнительной информации.

0

Как вы уже упоминали, ваш файл имеет окончание строки CR-LF . Таким образом, sed '/^$/d не будет работать.

Пытаться

sed '/^\x0D$/d' inputfile

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .