用shell函数或是if语句写一个“一个字符替换一个文件夹中所有文件中的相同字符”的小程序”。我要完整的程序,而不是一小段命令,谢谢……
是linux系统么?那推荐使用sed,一条命令即可:
比如,要将目录/modules下面所有文件中的“zhangsan”都修改成“lisi”,这样做:
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`解释一下参数:
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
这个命令组合很强大,要注意备份文件
那你要的完整程序就是:
#!/bin/bash请注意,以上代码定义到了当前的modules目录,如果你要修改被的目录请自定义,当然你也可以使用read读取你输入的目录,依葫芦画瓢我就不多说了。
以下shell脚本完成将指定文件夹下所有文件中的abc都替换为def。
#!/bin/sh请自行修改目录路径及字符串定义。
此脚本没有考虑目录中含有子目录的情况,若有此需求,请提出。
追问非常感谢您的回答,用sed我会了。你可以用if语句帮忙写下么、。主要是我现在正在学if语句,自己编的是错误的。所以需要您的帮助^非常感谢……
追答#!/bin/sh不可避免需要用到sed。
$?用于取得上一条命令的返回值,0表示成功,非0表示失败。
本回答被提问者采纳