我有多个符合此格式的标准文本文件,每个文件中包含不同数量的行:
Line1
Line2
Line3
Line4
我想将每一行合并为一行,每组字符之间有一个空格,因此文本文件看起来像这样:
Line1 Line2 Line3 Line3
......等等。这需要使用任何给定数量的行,因为每个文本文件包含不同数量的行。我的意图是不来合并文本文件中的行;我希望每个文本文件保持独立。我在网上找到的所有解决方案要么不太合适,要么专门用于UNIX。我正在运行Windows 7.这可以在Powershell,VBS,Batch,特定程序中完成,无关紧要,只需要与Windows一起使用。
非常感谢!
答案 0 :(得分:5)
@ECHO OFF
setlocal
(SET var=)
FOR /f "delims=" %%x IN (list.txt) DO (
CALL SET var=%%var%% %%x
)
SET var=%var:~1%
echo var=%var%=
其中list.txt是包含行的文件,var是您想要连接行的变量。
答案 1 :(得分:5)
使用批处理:
for /f "usebackqdelims=" %%i in ("infile.txt") do @<nul set /p"=%%i ">>"outfile.txt"
>>"outfile.txt" echo.
答案 2 :(得分:4)
使用PowerShell尝试一下,看看它是否是你想要的:
$my_file = "C:\file.txt"
$out_file = "C:\out.txt"
(Get-Content -Path $my_file) -join " " | Set-Content -Path $out_file
答案 3 :(得分:1)
为了完整起见,这是vbscript中的另一个解决方案:
Set fso = CreateObject("Scripting.FileSystemObject")
Set infile = fso.OpenTextFile("C:\infile.txt")
Set outfile = fso.OpenTextFile("C:\outfile.txt", 2, True)
If Not infile.AtEndOfStream Then outfile.Write infile.ReadLine
Do Until infile.AtEndOfStream
outfile.Write " " & infile.ReadLine
Loop
infile.Close
outfile.Close
答案 4 :(得分:0)
这样的东西?
(gc C:\test.txt) -join " "
答案 5 :(得分:0)
安装cygwin,然后就可以了
cat *.txt | tr "\n" " "