Board logo

标题: 如何在已存在的文件加入指定的行 [打印本页]

作者: tclshx     时间: 2006-10-9 04:25    标题: 如何在已存在的文件加入指定的行

如何在已存在的文件中加入指定的内容:
比如有一个AB.TXT文件,里面只有一行内容.另一个BC.TXT文件已存在多行内容,我现在要在BC.TXT中的第二行和第5行下加入AB.TXT中的内容,怎么写?
作者: 9527     时间: 2006-10-9 05:35
@echo off
set a=&set /p a=<AB.txt
for /f "tokens=1* delims=:" %%a in ('findstr /n . BC.txt') do (
echo %%b>>tmp.txt
if "%%a"=="2" echo %a%>>tmp.txt
if "%%a"=="5" echo %a%>>tmp.txt
)
START TMP.TXT

粗糙的写了一下,不过好像还可以更加简单,算了,该下班了,明天在说吧
作者: pengfei     时间: 2006-10-9 05:36
代码已修正:
@echo off
set /p ii=<ab.txt
setlocal enabledelayedexpansion
for /f "delims=" %%i in (bc.txt) do (
    echo %%i>>temp.txt
    set /a num+=1
    if "!num!"=="2" echo %ii%>>temp.txt
    if "!num!"=="5" echo %ii%>>temp.txt
)
[ Last edited by pengfei on 2006-10-9 at 08:01 ]
作者: 不得不爱     时间: 2006-10-9 06:43
3楼的不符合要求。
@echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n . BC.txt') do (
echo %%b
if "%%a"=="2" type ab.txt
if "%%a"=="5" type ab.txt
)>>tmp.txt

作者: pengfei     时间: 2006-10-9 08:01
发现是我理解错误...
作者: tclshx     时间: 2006-10-9 10:18
我还是帖上我的内容吧:
以下是修改前MENU.LST文件中的内容:
timeout 30
default 5
splashimage (hd0,0)/maotao/win2008.xpm.gz
fontfile (hd0,0)/maotao/fonts

title 启动 maotao最终修改版xpe
chainloader /maotao/ldrxpe

title 运行矮人工作室DOS工具盘4.2
root (hd0,0)
kernel (hd0,0)/maotao/memdisk.gz
initrd (hd0,0)/maotao/ar4.img

title 运行多功能GHOST 8.3
kernel (hd0,0)/maotao/memdisk.gz
initrd (hd0,0)/maotao/ghost.img

title 返回硬盘第一分区Windows菜单或启动该Window
root (hd0,0)
chainloader +1

title 重新启动计算机
reboot

title 关闭计算机
halt

AB.TXT中的内容如下:(是一个可变化的MD5密码)
$1$6$M/C73ICWnhubAdHfe8BjZ1

要修改MENU.LST中的内容为:
timeout 30
default 5
splashimage (hd0,0)/maotao/win2008.xpm.gz
fontfile (hd0,0)/maotao/fonts
password --md5 $1$6$M/C73ICWnhubAdHfe8BjZ1

title 启动 maotao最终修改版xpe
password --md5 $1$6$M/C73ICWnhubAdHfe8BjZ1
chainloader /maotao/ldrxpe

title 运行矮人工作室DOS工具盘4.2
password --md5 $1$6$M/C73ICWnhubAdHfe8BjZ1
root (hd0,0)
kernel (hd0,0)/maotao/memdisk.gz
initrd (hd0,0)/maotao/ar4.img

title 运行多功能GHOST 8.3
password --md5 $1$6$M/C73ICWnhubAdHfe8BjZ1
kernel (hd0,0)/maotao/memdisk.gz
initrd (hd0,0)/maotao/ghost.img

title 返回硬盘第一分区Windows菜单或启动该Window
root (hd0,0)
chainloader +1

title 重新启动计算机
reboot

title 关闭计算机
halt

且以后可根据AB.TXT的变化内容来随时修改MENU.LST
作者: tclshx     时间: 2006-10-11 18:55
看来是没希望了
作者: namejm     时间: 2006-10-12 00:45


  Quote:
Originally posted by tclshx at 2006-10-11 18:55:
看来是没希望了

  你应该好好揣摩一下以上的代码,不要指望别人把所有的事情都帮你解决完。自己学到方法才是最重要的,否则,下次碰到一个类似的问题你还是解决不了。

[ Last edited by namejm on 2006-10-12 at 00:48 ]
作者: 无奈何     时间: 2006-10-12 05:22
想说的 namejm 兄已经说了。
楼主试试下面的命令,可简单解决你的问题。
sed -e "2rAB.txt" -e "5rAB.txt" BC.TXT
sed 下载:http://www.student.northpark.edu/pemente/sed/gsed407x.zip

[ Last edited by 无奈何 on 2006-10-14 at 06:21 ]
作者: lxmxn     时间: 2006-10-12 06:17    标题: sed怎么用?



  Quote:
Originally posted by 无奈何 at 2006-10-12 05:22:
想说的 namejm 兄已经说了。
楼主试试下面的命令,可简单解决你的问题。
sed "2~3rAB.txt" BC.TXT
sed 下载:http://www.student.northpark.edu/pe ...


无奈何版主说的这个sed的帮助是这样的:

  Quote:
C:\Documents and Settings\Administrator>sed /?
sed: -e expression #1, char 2: Unterminated address regex

可以简单给介绍一下sed的作用和语法吗?

作者: 无奈何     时间: 2006-10-12 06:46
Re  lxmxn
Sed 是 linux、unix 下的工具,sed -h 或 sed --help 查看帮助。
Sed 的使用也比较复杂,你可以先参阅一下下面链接的文章,BIG5 编码的。
以后我会整理一些我收集的文章贴上来。
文章地址:http://phi.sinica.edu.tw/aspac/reports/96/96005/
还有可以到:http://gnuwin32.sourceforge.net/packages/sed.htm
这个地址下载 sed 最新的 win32 版,其中附带的帮助文章也非常好,只是是英文的。
作者: lxmxn     时间: 2006-10-12 07:29

谢谢版主,但是你说的这个”文章地址“里面的说明文字都好像是乱码啊`

下面是我复制的一段文字:

  Quote:
瓜い , よ standard input 夹非块 , 琌弄戈ぇ矪 ; standard output 夹非块 , 琌癳挡狦ぇ矪 ; い丁 sed よ遏ㄢ店絬よ遏ボ sed 瑈祘ㄤい , オ娩店絬よ遏ボ sed 盢夹非块戈竚 pattern space , 娩店絬よ遏ボ sed 盢 pattern space い絪胯Ч拨戈癳夹非块

店絬よ遏い , ㄢ龟絬よ遏だボ pattern space 籔 sed scriptㄤい , pattern space 絯侥跋 , ウ琌 sed 初┮ ; τ sed script 玥ボ舱磅︽絪胯

瓜い, オ娩店絬よ遏 "Unix" パ夹非块竚 pattern space ; 钡帝 , 娩店絬よ遏い , sed 磅︽ sed script い絪胯 s/Unix/UNIX/ (爹秆 [2]) , 挡狦 "Unix" 砆蠢传Θ "UNIX" , ぇ , "UNIX" パ pattern space 癳夹非块


  羆瓃┮ē , 讽 sed パ夹非块弄︽戈 pattern space  , sed ㄌ酚 sed script 絪胯硋癸 pattern space ず戈磅︽絪胯 , ぇ , パ pattern space ず挡狦癳夹非块 , 钡帝盢︽戈弄狡磅︽瓃笆 , 弄Ч┮Τ戈︽ゎ


作者: 无奈何     时间: 2006-10-12 08:20
我已说明是 BIG5 编码 的,右键编码设置一下。
作者: vkill     时间: 2006-10-14 01:13
下载sed 回去看看