免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5823 | 回复: 13
打印 上一主题 下一主题

请教一下如果用SCRIPT做到.. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-02 17:27 |只看该作者 |正序浏览
本帖最后由 xmi 于 2011-02-03 12:44 编辑

有个bgaction.cfg如下
....
....
BGBUFFER=120
FOLDER=20

CONTENT=120
...

如何用一个SCRIPT去把'BGBUFFER='后的120改成500呢?

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
14 [报告]
发表于 2011-02-06 01:19 |只看该作者
  1. [monitor@remote Test]$ echo -e "AAAA\nBBBB\nBGBUFFER=120\nCCCCC\nDDDDD"|sed '/^BGBUFFER/ s/\(BGBUFFER=\).*$/\1150/'
  2. AAAA
  3. BBBB
  4. BGBUFFER=150
  5. CCCCC
  6. DDDDD
  7. [monitor@remote Test]$ NUM=150 && echo -e "AAAA\nBBBB\nBGBUFFER=120\nCCCCC\nDDDDD"|sed '/^BGBUFFER/ s/\(BGBUFFER=\).*$/\1'"$NUM"'/'
  8. AAAA
  9. BBBB
  10. BGBUFFER=150
  11. CCCCC
  12. DDDDD
  13. [monitor@remote Test]$ echo -e "AAAA\nBBBB\nBGBUFFER=120\nCCCCC\nDDDDD"|sed '/^BGBUFFER/ s/\(BGBUFFER=\)120$/\1150/'
  14. AAAA
  15. BBBB
  16. BGBUFFER=150
  17. CCCCC
  18. DDDDD
  19. [monitor@remote Test]$ echo -e "AAAA\nBBBB\nBGBUFFER=120\nCCCCC\nDDDDD"|sed '/^BGBUFFER/ s/\(BGBUFFER=\)110$/\1150/'
  20. AAAA
  21. BBBB
  22. BGBUFFER=120
  23. CCCCC
  24. DDDDD
  25. [monitor@remote Test]$ NUM=150 && echo -e "AAAA\nBBBB\nBGBUFFER=120\nCCCCC\nDDDDD"|sed '/^BGBUFFER/ s/\(BGBUFFER=\)120$/\1'"$NUM"'/'
  26. AAAA
  27. BBBB
  28. BGBUFFER=150
  29. CCCCC
  30. DDDDD
复制代码

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
13 [报告]
发表于 2011-02-03 14:28 |只看该作者
回复 11# xmi


    不好意思,多了个/
应该是:
  1.     awk '!/BGBUFFER=/||gsub("300","500",$0)' urfile
复制代码

论坛徽章:
0
12 [报告]
发表于 2011-02-03 12:54 |只看该作者
本帖最后由 xmi 于 2011-02-03 12:55 编辑
回复  xmi
Shell_HAT 发表于 2011-02-03 12:45
回复 7# xmi
sed 's/BGBUFFER=300/BGBUFFER=500/' file1 > file2
mv file2 file1


成功了. 謝謝.
恭喜發財!

论坛徽章:
0
11 [报告]
发表于 2011-02-03 12:46 |只看该作者
本帖最后由 xmi 于 2011-02-03 12:48 编辑
回复  xmi


    awk '!/BGBUFFER=/||/gsub("300","500",$0)' urfile
yinyuemi 发表于 2011-02-03 07:21


% awk '!/BGBUFFER=/||/gsub("120","500",$0)' aaa
/BGBUFFER=/||/gsub("120","500": Event not found

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
10 [报告]
发表于 2011-02-03 12:46 |只看该作者
回复 8# xmi


这些命令是不会直接修改文件本身的

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
9 [报告]
发表于 2011-02-03 12:45 |只看该作者
回复 7# xmi
  1. sed 's/BGBUFFER=300/BGBUFFER=500/' file1 > file2
  2. mv file2 file1
复制代码

论坛徽章:
0
8 [报告]
发表于 2011-02-03 12:33 |只看该作者
本帖最后由 xmi 于 2011-02-03 12:41 编辑
xiaopan3322 发表于 2011-02-03 00:30
xiabao@6P9SN2X ~
$ sed -i "s/\(BGBUFFER=\)[0-9]\{3,\}/\1500/g" urfile
BGBUFFER=500

我想把120 转成300:
% sed -i "s/\(BGBUFFER=\)[0-9]\{1,\}/\300/g" aaa
sed: illegal option -- i  

可以怎样?

xiabao@6P9SN2X ~
$ awk -F'=' '/BGBUFFER=/{print $1"="500}' urfile
BGBUFFER=500

% awk -F'=' '/BGBUFFER=/{print $1"="300}' aaa
BGBUFFER=300
% cat aaa
FOLDER=100
BGBUFFER=120    <--没有改变?

论坛徽章:
0
7 [报告]
发表于 2011-02-03 12:25 |只看该作者
Shell_HAT 发表于 2011-02-02 18:04



   
% sed -i 's/BGBUFFER=100/BGBUFFER=200/' aaa
sed: illegal option -- i   

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
6 [报告]
发表于 2011-02-03 07:21 |只看该作者
回复 1# xmi


    awk '!/BGBUFFER=/||/gsub("300","500",$0)' urfile
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP