当前位置:  技术问答>linux和unix

问个shell编程的问题,急,送2000分。必送!!!!顶也有分。

    来源: 互联网  发布时间:2015-09-24

    本文导语:  用bash shell实现以下功能: 查找树型目录下(目录下还有子目录)的所有.c文件,将文件中的字符串"abc"替换为"xyz" 注意,abc可能不再一行,中间可能有空各,替换后的xyz在同一行。 也就是abc可能是 a     bc a b  ...

用bash shell实现以下功能:
查找树型目录下(目录下还有子目录)的所有.c文件,将文件中的字符串"abc"替换为"xyz"
注意,abc可能不再一行,中间可能有空各,替换后的xyz在同一行。

也就是abc可能是
a     bc

a b      c

a
b

c

是不是要用shell和awk写啊?

|
先用命令
find 起始目录 -name *.c -print 将所有文件选出;
然后用
sed 's/[ ]*a[ ]*b[ ]*c/xyz/g' 所选出的文件名〉所选出的文件名 /*用替换后的结果更新原文件*/
上面的sed只能实现a     bc、a b      c在同一行的情况,上面的结果我已在Sco Unix测试过,能替换实现,但a、b、c不在一行还未试出来,我再试一下。
若在一个shell文件中实现,将上述命令组合处理一下即可。

|
顶,接分

|
比俺会的多,顶一下吧!

|
这样看来 你不是把 a-->x b-->y c-->z 吗?

这样想就简单了

如果你非要是a .... b.....c 才替换 而a...c.... 就不算了 而从下一个 a 开始统计
那就麻烦了
还不如编个程序处理

|
用awk
1,没有找到a时,原样输出
2,当找到一个a时,把一个变量做个标志,同时把内容保存到数组中暂不输出
3,找到b时,也做个标志
4, 若找到c,则把数组的内容输出在同一行上,并把标志和数组重置
5,若文件结束或找到了另外一个a时还没有找到b或c,则把数组原样输出,重置数组,标志找到a

大概思路如此,代码你自己写写看,我现在都懒得写代码了

    
 
 

您可能感兴趣的文章:

  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • 请问什么是shell编程?一般都用shell编程实现什么?
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • Linux下的编程指的就是Shell编程吗?
  • 那里有《shell编程》和关于curses编程的教程可以下载,请帮忙?
  • C编程与shell编程有什么区别,两者有没有从属关系?
  • Linux C编程一站式学习,高级shell Bash脚本编程指南,
  • shell 编程 执行shell新建多个终端 并执行程序
  • Linux命令、编辑器与Shell编程 和 UNIX SHELL范例精解(第4版) 区别大么?
  • Shell编程的,可以在shell中访问多行的属性吗?如:
  • 刚学Shell编程,问个关于Shell中if语句的问题
  • 如何学UNIX的SHELL编程
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加 iis7站长之家
  • 请大家推荐一本shell编程方面的书
  • 给我推荐点shell编程的学习资料。
  • 谁有linux shell编程方面比较好的语法资料哦?
  • 关于Shell编程???
  • 学好SHELL编程能从事什么职业?
  • 关于shell脚本编程
  • 关于shell编程的小问题
  • shell变量和子shell的问题请教
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • 在shell中的交互问题,现在需要在shell结束时按某键或任意键
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • vim问题,怎么不启动shell窗口,而只是把shell结果放到vim自身的command 栏里去?
  • shell:sql问题,如何shell循环将不同表数据写入文件中...
  • 求助关于Java调用shell再传值给shell的问题
  • 一个奇怪的shell问题
  • 有关裁减内核及shell命令的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 急在线等!我想在win2000下模拟unix的环境来试 POSIX shell script
  • 如何从Win2000上使用rsh登陆到服务器来执行shell?
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 请问“当前shell”和“子shell”的区别?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • 如何在一台机器上的shell中执行另外一台机器上的shell
  • 小弟没写过shell,求解 linux shell 命令
  • 子shell改变父shell定义变量的值
  • shell脚本如何调用另外一个shell脚本的函数?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3