Board logo

标题: [问题求助] [已解决]如何用sed更改指定行的内容? [打印本页]

作者: zhanghdong    时间: 2011-4-4 13:17     标题: [已解决]如何用sed更改指定行的内容?

  1. <?xml version="1.0" encoding="UTF-16"?>
  2. <Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  3.   <RegistrationInfo>
  4.     <Source>$(@%systemroot%\system32\defragsvc.dll,-800)</Source>
  5.     <Author>$(@%systemroot%\system32\defragsvc.dll,-801)</Author>
  6.     <Description>$(@%systemroot%\system32\defragsvc.dll,-802)</Description>
  7.     <URI>Microsoft\Windows\Defrag\ScheduledDefrag</URI>
  8.   </RegistrationInfo>
  9.   <Triggers>
  10.     <CalendarTrigger id="DefragWeeklyTrigger">
  11.       <StartBoundary>2011-04-04T01:00:00</StartBoundary>
  12.       <Enabled>true</Enabled>
  13.       <ScheduleByWeek>
  14.       <AllowStartOnDemand>true</AllowStartOnDemand>
  15.       <Enabled>true</Enabled>
  16.       <Hidden>false</Hidden>
复制代码
第一个问题:
  1. 在不改动15行的情况下把12行的代码
  2. <Enabled>true</Enabled>
  3. 改为
  4. <Enabled>false</Enabled>
复制代码
第二个问题:
  1. 在不改动12行的情况下把15行的代码
  2. <Enabled>true</Enabled>
  3. 改为
  4. <Enabled>false</Enabled>
复制代码

作者: CrLf    时间: 2011-4-4 13:33

  1. sed "12 s/true/false/" test
复制代码

作者: zhanghdong    时间: 2011-4-4 13:38

  1. sed "12 s/true/false/" test
复制代码
大侠,如果只改动15行的话是不是
  1. sed "15 s/true/false/" test
复制代码
???????
作者: CrLf    时间: 2011-4-4 13:59

是的                
作者: zhanghdong    时间: 2011-4-4 14:10

是的                
zm900612 发表于 2011-4-4 13:59



晕啦,sed在64位系统上无法运行,可以用其它的方法实现以上的功能吗??郁闷。。
作者: CrLf    时间: 2011-4-4 14:46

本帖最后由 zm900612 于 2011-4-4 14:49 编辑
  1. @echo off
  2. for /f "tokens=1* delims=:^" %%a in ('findstr /n .* test') do (
  3. if %%a==12 (
  4. for /f "tokens=1-3* delims=^<^>" %%c in ("%%b") do echo %%c^<%%d^>false^<%%f
  5. ) else echo %%b
  6. )
  7. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2