Linux环境下替换工程文件的小工具及如何替换文件中的字符串
来源:互联网 发布:360网络连接配置有问题 编辑:程序博客网 时间:2024/05/17 05:15
由于实际需求,有时需要把一些文件替换掉工程中的相应文件。首先我把这些文件放到同一个目录,然后把下面的脚本放到同一目录,执行这个脚步就可以了。这个小脚本还需要很多完善的地方。
#!/bin/bashif [ ! $1 ]; then echo "Usage: $0 prj_path" exit;fisource_file=$(find ./ -maxdepth 1 -name "*.c" -o -name "*.h" -o -name "*.cpp")for file in $source_file;do echo "current file: $file" file_tmp=$(basename ${file}) find $1 -name $file_tmp -type f -exec cp -f $file_tmp {} \;done
perl
可以执行以下命令:
find . -name '*.c' -print0 | xargs -0 perl -pi -e 's/x_cnt/x_counter/g'
xargs 把find命令的结果作为perl的参数。
find的参数-print0和xargs的参数-0是防止文件名中有空格或新行造成错误,可以man xargs获得帮助。
注意: 如果替换的字符包括 ()[]/"'!? 等等这样的特殊字符,你必须在字符前加上反斜杠\ 。
这种方法的好处是不用启动编辑器,比较迅速。缺点是容易出现不想要的替换,例如:把px_cnt替换成了px_counter。
sed
仍以上面的例子讲解:
find . -name "*.c" -print0 | xargs -0 sed -i 's/x_cnt/x_counter/g'
优缺点和perl方法相同。
以上方法的差异只在于使用工具的不同,相信肯定还有别的工具能办到这件事。
把某一目录下的文件全部更改为dos格式
find /home/your -type f -exec unix2dos {} \;
- Linux环境下替换工程文件的小工具及如何替换文件中的字符串
- 一个替换某文件夹下的所有文件中特定字符串的小工具
- 替换文件中的字符串
- Linux/Mac下批量替换文件中的字符串
- linux环境下实用小工具,从编译的C文件中,找出指定的函数或者其他字符串
- linux下替换文件夹下的所有文件的字符串
- 替换路径下所有文件中的字符串
- linux下如何批量查找或替换文件中的内容?
- linux sed 批量替换文件中的字符串
- Linux中替换文件中的字符串
- Linux批量替换多文件中的字符串
- linux 下常见的文件内字符串替换命令
- 文件字符串的替换
- linux下批量替换文件中的字段
- Linux下批量替换多个文件中的字符串的简单方法
- 替换文件夹下包含字符串的文件
- python小工具:批量替换某个目录下的文件名
- sed 替换文件中的字符串
- [JavaScript]Math
- Silverlight Column Chart
- IOS开发之Cocoa编程—— NSUndoManager
- 8、Android中Intent(意图)
- 8.1、Android中为Intent附加数据的两种写法
- Linux环境下替换工程文件的小工具及如何替换文件中的字符串
- 坑爹,三星怎么不提供S5PV210 的wince6.0 R3 的opengl驱动和相关opengl 的测试应用程序demo?!
- 数学之美系列(吴军 Google研究员)
- 9、Android中Activity
- SetUnhandledExceptionFilter
- 关于软件大赛的几个编程题!
- 笔记本怎么做wifi热点(xp版)
- 有关使用 GPS Intermediate Driver 无法获取到GPS数据的一个问题
- 做网站用UTF-8还是GB2312?