Это легко сделать с помощью пасты
:
paste -sd'\0\n' file
В vim
:
:%!paste -sd'\0\n' -
Ваш файл ipout имеет формат DOS
и включает символы Carriage Return
перед символами Newline
.
Убедитесь, что ваш файл имеет соответствующий формат UNIX.
Файл status_1.txt
является текстовым файлом DOS. Это видно из\r
(возврата каретки )в конце значения $b
в выводе трассировки.
У вас есть два варианта:
Преобразование текстового файла в формат текстового файла Unix, например, с помощью. инструмент dos2unix
или
Учтите \r
для$b
(его не будет для $a
, так как его значение не берется с конца строки )и проверьте с помощью
if [ "$b" = "$c"$'\r' ]