【发布时间】:2016-12-10 20:02:56
【问题描述】:
我有一个没有换行或回车的平面文件源。有五个字符串,#@#@#,表示是行尾,即
abc|def|123#@#@#xyz|tuv|567#@#@#
我需要通过informatica处理这个文件,但我相信我不能用那五个字符串设置行分隔符。
我需要编写一个批处理脚本 (.bat) 来用换行符替换该字符串的所有出现。我已经搜索了很多,但还没有找到任何结果。任何人都知道我可以如何处理它?
我已经看到一些使用“delims =”的解决方案,尽管这会逐行读取文件。在我的情况下,由于缺少换行符,它只有一行,因此该解决方案不起作用。
输出文件应该是这样的:
abc|def|123
xyz|tuv|567
【问题讨论】:
-
你应该先自己尝试一些东西,当你卡住的时候回到这里,清楚地描述你有什么问题;否则这是一个为我工作的问题,在这里是题外话!请至少阅读完整的tour page 以了解如何使用本网站!
-
您的输入文件是否包含以下字符之一:
"、*、?? -
它是一个数据文件,因此可以在文件的某处看到这些字符。但是,如果您要问文件是否在每个字段中都包含这些字符,那么我的答案是否定的,
-
在 powershell 控制台中输入 (gc InFile.txt -raw) -replace "#@#@#", "
rn"|set-content OutFile.txt 查看答案,格式化会吃掉转义字符。 -
在@LotPings 的代码中,
"`r`n"中有反引号,这些反引号很难用 Stack Overflow 降价格式显示。你也可以(gc infile.txt) -split '#@#@#' > outfile.txt
标签: batch-file scripting