标题: 合并两个文件的行
[打印本页]
作者: fjcyz
时间: 2007-5-16 03:24
标题: 合并两个文件的行
a 文件
0638526668827
1502584252836
1467833311398
5967582477335
0579478512245
3007023284581
7677766839768
0098459371414
3407604726468
9930573897634
5390754524674
1838103002746
4592552155390
b文件
00-E0-4C-77-11-99 192.168.1.3 WIN2K
00-E0-1C-77-18-99 192.168.1.4 W2K
00-E0-4C-37-11-99 192.168.1.5 WINK
00-E0-4C-77-77-33 192.168.1.6 WIN
想把 A 的第一行, 合并到 B 行的未尾...
依次类推,第二行接第二行...第三行接第三行....
作者: bjsh
时间: 2007-5-16 09:05
什么意思?
要这样的效果
00-E0-4C-77-11-99 192.168.1.3 WIN2K
00-E0-1C-77-18-99 192.168.1.4 W2K
00-E0-4C-37-11-99 192.168.1.5 WINK
00-E0-4C-77-77-33 192.168.1.6 WIN
0638526668827
1502584252836
1467833311398
5967582477335
0579478512245
3007023284581
7677766839768
0098459371414
3407604726468
9930573897634
5390754524674
1838103002746
4592552155390
如果是这样的话:
copy b.txt+a.txt c.txt
看情况在b.txt最后加一空行;
copy
作者: ttyp
时间: 2007-5-16 09:26
他是要两个文件的对应行接起来
作者: bjsh
时间: 2007-5-16 10:12
哦;这个意思啊;那试试下面的这个行不
@echo off&setlocal enabledelayedexpansion
set /a count=1
for /f "delims=" %%b in (b) do (
set /p"=%%b"<nul
for /f "tokens=2 delims=:" %%a in ('findstr /n .* a^|findstr /b "!count!:"') do echo %%a
set /a count+=1
)
作者: gamevyo
时间: 2008-1-2 22:18
Quote: |
Originally posted by bjsh at 2007-5-16 10:12 AM:
哦;这个意思啊;那试试下面的这个行不
[code]
@echo off&setlocal enabledelayedexpansion
set /a count=1
for /f "delims=" %%b in (b) do (
set /p"=%%b"< ... |
|
刚也遇到这个问题了 上面的 测试没通过
有没有可行的方法?
作者: zh159
时间: 2008-1-3 11:01
注:b.txt必须空头一行@echo off
for /f "delims=" %%i in (a.txt) do (
set /a n+=1
call :loop "%%i"
)
pause
exit
:loop
for /f "skip=%n% delims=" %%n in (b.txt) do echo %~1 %%n&goto :eof
作者: HAT
时间: 2008-1-3 16:35
Unix小工具paste.exe实现这个功能很方便啊^_^
作者: gamevyo
时间: 2008-1-4 15:03
Quote: |
Originally posted by zh159 at 2008-1-3 11:01 AM:
注:b.txt必须空头一行
[code]@echo off
for /f "delims=" %%i in (a.txt) do (
set /a n+=1
call :loop "%%i"
)
pause
exit
:loop
for / ... |
|
Thank you very much~