免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: Dannysd
打印 上一主题 下一主题

shell修改文件中的内容 [复制链接]

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
11 [报告]
发表于 2011-07-19 15:24 |只看该作者
回复 10# yinyuemi


也不行,开始的时候我是这样写的:

   awk '{print $2}'| sed -i 's/*/Server_IP/g' <$filepath

运行的时候报:

sed: 没有输入文件


谢谢你,yinyuemi !

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


    应该可以啊,
  1. $ cat urfile
  2. a_IPadress 192.168.19.1
  3. b_IPadress 192.168.19.2
  4. c_IPadress 192.168.19.3

  5. cat s.sh
  6. #!/bin/bash
  7. filepath="./urfile"
  8. echo "Enter Server_IP : "
  9. read Server_IP
  10. echo
  11. sed -i "2s/\([^[:blank:]]\+\) \(.*\)/\1 $Server_IP/"  "$filepath"

  12. ./s.sh
  13. Enter Server_IP :
  14. xxx

  15. cat urfile
  16. a_IPadress 192.168.19.1
  17. b_IPadress xxx
  18. c_IPadress 192.168.19.3

复制代码

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
13 [报告]
发表于 2011-07-19 17:19 |只看该作者
太感谢了,yinyuemi !

按照你的方式,我的问题已得到了解决!

谢谢!

论坛徽章:
0
14 [报告]
发表于 2011-08-08 16:19 |只看该作者
回复 12# yinyuemi


    你好,我也遇到这样类型的问题了,不过和他不一样。

文件一内容:
123  abc
456  def
789  ghi


我现在需要用一个脚本,先查询文件一第一列,再替换后面的内容。比如查询456 然后把后面的 def替换成XXX

123  abc
456  XXX
789  ghi


初次接触LINUX ,多谢大家帮忙指教。

论坛徽章:
0
15 [报告]
发表于 2011-08-08 16:47 |只看该作者
替换的话  直接用sed 简单易懂

论坛徽章:
0
16 [报告]
发表于 2011-08-08 21:06 |只看该作者
本帖最后由 sevenatm 于 2011-08-08 21:10 编辑

我不太明白,脚本能打开一个文件,查询并修改吗,而文件的内容不在脚本里编辑?

不事先把文件内容写在脚本里

比如,不在脚本里写:

cat urfile

a_IPadress 192.168.19.1

b_IPadress 192.168.19.2

c_IPadress 192.168.19.3

而直接编辑文件内容

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
17 [报告]
发表于 2011-08-09 00:14 |只看该作者
回复 14# sevenatm
  1. cat s.sh
  2. #!/bin/bash
  3. filename=$1
  4. echo "Enter keywords:"
  5. read keyword
  6. echo
  7. sed -i "/$keyword/s/ \+.*/  xxx/" $filename


  8. ./s.sh urfile
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP