gpt4 book ai didi

file - 批处理文件 : Removing carriage return from . tsv 文件

转载 作者:行者123 更新时间:2023-12-02 08:49:28 25 4
gpt4 key购买 nike

我正在尝试使用批处理文件从 .tsv 文件中删除回车符。这就是我的 .tsv 文件的样子,第一行是列行

* **[CR][LF] 这些行中显示的内容是手动添加的以获得想法

Class   Name & Address  Item    lbs Value   Pickup/Drop off Date:   23 Sep[CR][LF]
Class1 Ben Coha[CR]
2305 E LA st[CR]
VISIA, PA[CR]
932112-4422 Health and beauty product / cologne body wear for men 0.13 19[CR][LF]
Class2 mich marce[CR]
255 rid court[CR]
prince frick, PA[CR]
20442 health and beauty product / cologne body wear for women 1.5 47

我想要这个文件,如下所示[我使用记事本删除(“替换”为空)仅出现的[CR]]

Class   Name & Address  Item    lbs Value   Pickup/Drop off Date:   23 Sep[LF]
Class1 Ben Coha 2305 E LA st VISIA, PA 932112-4422 Health and beauty product / cologne body wear for men 0.13 19[LF]
Class2 mic marce 255 rid court prince frick, PA 20442 health and beauty product / cologne body wear for women 1.5 47

我尝试了以下批处理文件。文件被放在一行中。它删除了回车符和换行符。

@echo off
SetLocal DisableDelayedExpansion
for /f "delims=" %%a in (myFile.tsv) do (
echo/|set /p ="%%a%"
)>>newMyFile.tsv

结果看起来像..

Class   Name & Address  Item    lbs Value   Pickup/Drop off Date:   23 SepClass1    Ben Coha 2305 E LA st VISIA, PA 932112-4422 Health and beauty product / cologne body wear for men   0.13    19      Class2  mic marce 255 rid court prince frick, PA 20442  health and beauty product / cologne body wear for women 1.5 47  

我想修改 .bat 文件,以便仅删除\r,而不是同时删除\r\n

更新:我可以添加图像,这将给出更清晰的想法。类似的 .tsv 文件 enter image description here希望它是这样的 enter image description here

最佳答案

如果您使用JREPL.BAT regular expression text processing utility,这很简单

jrepl \r "" /f "myFile.tsv" /o "newMyFile.tsv"

如果使用/o -,则可以覆盖原始文件。

如果将命令放入批处理脚本中,则必须使用CALL JREPL

<小时/>

下面是我的原始答案,当我认为源文件中每行末尾有一个 CR/LF 时(在编辑问题之前)。

我讨厌用批处理编辑文本文件,因为它需要大量晦涩的知识,有很多限制,而且结果很慢。然而,可以通过批处理来解决这个问题,我决定我可以使用这种做法:-)

以下工作前提是每个输入行的长度 <= 1021 字节,并且输出行的长度均 < ~8191 字节。

@echo off
setlocal enableDelayedExpansion
set "input=test.txt"
set "output=out.txt"

:: Define LF to contain a linefeed character
set ^"LF=^

^" The empty line above is critical - DO NOT REMOVE

:: Determine how many sets of 4 lines must be read
for /f %%N in ('find /c /v "" ^<"test.txt"') do set /a cnt=%%N/4

<"!input!" >"!output!" (

%= Read and write the first line =%
set "ln="
set /p "ln="
<nul set /p "=!ln!!LF!"

%= Outer loop iterates the 4 line sets =%
for /l %%N in (1 1 !cnt!) do (

%= Initialize out line to empty =%
set "out="

%= Inner loop appends next 4 lines into out =%
for /l %%n in (1 1 4) do (
set "ln="
set /p "ln="
set "out=!out!!ln!"
)

%= Write the line =%
<nul set /p "=!out!!LF!"
)
)

关于file - 批处理文件 : Removing carriage return from . tsv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32868862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com