Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 批处理用于循环每个文件中的一行文本,并回显这两行_Loops_Batch File_Merge_Sed - Fatal编程技术网

Loops 批处理用于循环每个文件中的一行文本,并回显这两行

Loops 批处理用于循环每个文件中的一行文本,并回显这两行,loops,batch-file,merge,sed,Loops,Batch File,Merge,Sed,操作系统:Windows7 我需要输出两行;每个文本文件中的一个并排显示。类似于已经展示的内容 A.txt 1 2 3 4 5 B.txt A B C D E 所以我想回应一下 1 A 2 B 3 C 4 D 5 E 我把它给了你一个解决这个问题的技巧 @echo off del file1.txt 2>nul del file2.txt 2>nul for %%a in (A B C D) do echo %%a>>file2.txt for %%a in (1

操作系统:Windows7

我需要输出两行;每个文本文件中的一个并排显示。类似于已经展示的内容

A.txt

1
2
3
4
5
B.txt

A
B
C
D
E
所以我想回应一下

1 A
2 B
3 C
4 D
5 E

我把它给了你一个解决这个问题的技巧

@echo off
del file1.txt 2>nul
del file2.txt 2>nul

for %%a in (A B C D) do echo %%a>>file2.txt
for %%a in (1 2 3 4) do echo %%a>>file1.txt

@echo off
setlocal DisableDelayedExpansion
< file2.txt (
   for /F "delims=" %%a in (file1.txt) do (
      set file2Line=
      set /P file2Line=
      set "file1Line=%%a"
      setlocal EnableDelayedExpansion   
      echo(!file1Line! !file2Line!
      endlocal
   )
)
pause

del file1.txt 2>nul
del file2.txt 2>nul
goto :EOF
@echo关闭
del file1.txt 2>nul
del file2.txt 2>nul
对于(a B C D)中的%%a,请执行echo%%a>>file2.txt
对于(1 2 3 4)中的%%a,执行echo%%a>>file1.txt
@回音
setlocal DisableDelayedExpansion
nul
del file2.txt 2>nul
后藤:EOF
试试这个:

@echo off
setlocal enabledelayedexpansion
set /a count=0

For /f %%a in (A.txt) do (
set /a count=!count!+1
set A!count!=%%a
)
set count=0
For /f %%b in (B.txt) do (
set /a count=!count!+1
set B!count!=%%b
)
set recount=0
:loop
recount=%recount%+1
echo %A!recount!% %B!recount!%
if %recount% gtr %count% goto :end
goto :recount
:end
pause
exit
希望这有帮助

你的Mona

注意:如果
A.txt
中有更多的行,它将忽略它们。如果有更少的行,它将显示GNU的
[空白][行]
代码:


>sed“s#..*s/*/&&&&/g;n#”A.txt | sed-f-B.txt 1A 2 B 3 C 4d 5 E
哇!我花了10多分钟才知道你是怎么做的!只有一个注释:要将输出写入文件,请编辑
pause
to
)>newfile.txt上面的行
sed "s#.*#s/.*/& \&/g;n#" A.txt|sed -f - B.txt
>sed "s#.*#s/.*/& \&/g;n#" A.txt|sed -f - B.txt 1 A 2 B 3 C 4 D 5 E