Проблема в том, что ваши файлы заканчиваются на CR LF , но WSL sed
использует только LF и конец строки. Вы можете обойти это с помощью трехэтапного процесса, если вы знаете , это CR LF файл стиля:
- get избавиться от CR ;
- сделать ваши изменения;
- положить CR обратно.
Это будет go что-то вроде: sed -i -e 's/\r$//' -e 's/$/:orig/' -e 's/$/\r/'
.
Однако, это не будет работать с файлами UNIX, так как первая замена ничего не даст, но третья добавит CR символ в конце каждой строки, хотя изначально его там не было. Если вы хотите что-то, что будет работать с обоими типами файлов, это должно сделать это:
sed -E 's/(\r)?$/:orig\1/'
Это захватывает дополнительный CR в конце строки и помещает его обратно в подстановку (если он не находится в исходной строке, он не вернет его).