batch file + convert LF to CR+LF

后端 未结 2 825
日久生厌
日久生厌 2020-12-18 08:00

We have a shell script file named LineFeed.sh which does a function of converting a Linefeed(LF) to Carriage Return + LineFeed. We want the same to

相关标签:
2条回答
  • 2020-12-18 08:18

    You can find one way on this Wikipedia page:

    TYPE unix_file | FIND "" /V > dos_file
    

    Remember that you can't redirect the output to the same file you're reading from. This applies to pretty much all systems and shells, so an additional rename is necessary.

    The key here is that type knows how to read LF line endings and find will then convert them do CRLF. type alone won't do anything with the output (it's supposed to, because having a command that simply dumps the file contents messing with them isn't good :-)).

    0 讨论(0)
  • 2020-12-18 08:39

    Building on the generally noted way of doing this using the type command, you can also convert all of the files (or whatever wildcard you may prefer) and dump them in a temp folder using the following:

    md temp
    for %a in (*.*) do type "%a" | find /v "" > temp\"%a"
    

    If the general idea was to replace the originals then you can just move the files back out of the temporary location and delete the temp folder

    0 讨论(0)
提交回复
热议问题