我有一个以|
作为分隔符输出的文件。但是,其中一个字段是源系统中包含回车符的描述字段。尝试读取文件时,这是一个问题,因为它将文件分解为新行。我想要做的是删除所有不在|
之前的CF / LF。
我觉得这应该可以在命令行上实现,但却无法想出来。
示例数据
|A|Testing CF/LF
This|CF/LF
预期产出
|A|Testing This|CF/LF
答案 0 :(得分:2)
@ECHO Off
SETLOCAL
SET "line="
(
FOR /f "delims=" %%a IN (q26895698.txt) DO (
CALL :generate "%%a"
)
)>newfile.txt
TYPE newfile.txt
GOTO :EOF
:generate
SET "line=%line%%~1"
IF "%line:~-1%"=="|" SET "line="&FOR %%x IN ("%line%") DO ECHO(%%~x
GOTO :eof
我使用了一个名为q26895698.txt
的文件,其中包含您的数据(例如它),用于我的测试。
制作newfile.txt
无法提供帮助,但会让您感觉更好,SED
thouh - google" GNU SED"详情......