0

私はunix eolでファイルfile1を持っています、私はそれを編集するためのスクリプトを持っていますが、編集はに行われoutput.txt、名前が変更されfile1、これによりeolがwindows/dosに変更されます

コードが与えられます

set uu=file1
set vv=file2

setlocal EnableDelayedExpansion
(for /F "delims=" %%a in (%uu%) do (
   set "line=%%a"
   if "!line:345=!" neq "!line!" (
      if "!line:123=!" neq "!line!" (
         if not defined flag (
            findstr "123" %vv% | findstr "345"
            set flag=true
         )
      ) else (
         echo !line!
      )
   ) else (
      echo !line!
   )
)) >output.txt 
del %uu% 
rename output.txt file1

ユーザー入力なしでcmdを介して元に戻すか、UNIX eolを保持する方法はありますか?

file1 に直接入力しようとしましたが、試した 0 kb のファイルが返されましたtype output.txt>file1dos/win eol が返されました 空行以外をエコーecho.>file1する eol char が変更されました

4

3 に答える 3

1

純粋な使用CMDはほとんどないと思います。

GNU SEDただし、この変換が可能である必要があります。

sed -b s/\r//g infile >outfile
于 2013-05-12T13:57:40.660 に答える