我最近在同一论坛上提出了一个问题,并找到了解决方案。不幸的是,它必须转换成UNIX。问题是合并来自csv文件的行。每行应以分号(;)结尾,并且如果它未将下一行组合到它中,则再次找到分号。将合并行批处理脚本转换为shell
为我工作的解决方案是
@echo off
setlocal disableDelayedExpansion
set "ln="
for /f delims^=^ eol^= %%i in (myfile.txt) do (
set "var=%%i"
setlocal enableDelayedExpansion
if "!var:~-1!"==";" (echo !var!>>temp.csv) else (<nul set /p ="!var!">>temp.csv)
endlocal
)
是否可以转换为UNIX脚本?
链接到原来的职位是:Merge line with the next line if last character is a semicolon using batch file
是的,这是可能的。你有什么尝试? – chepner
没有“Unix脚本”这样的东西。有脚本语言,shell,流水线实用程序和多种编程语言。做一些研究并编写一些代码,那么你将能够更好地提出良好的Stack Overflow问题。 –