shell替换文件中的文件路径脚本分享
用法
参数1、写有需要替换路径记录的文本,格式:老路径 老名称 新路径 新名称
参数2、需要替换的文件的目录
参数3、需要替换的文件的类型
#!/bin/sh
function _replace(){
basepath=$0
> $basepath.log
i=1
while read line
do
echo "start===================================================================================" >> $basepath.log
oldpath=`echo $line|awk '{print $1$2}'|sed 's/^\///g'`
newpath=`echo $line|awk '{print $3$4}'|sed 's/^\///g'`
echo $oldpath >> $basepath.log
echo $newpath >> $basepath.log
if [ "$oldpath" != "" ] && [ "$newpath" != "" ];then
refiles=`grep $oldpath -irl --include="*.$3" $2`
for refile in $refiles
do
sed -i 's#'$oldpath'#'$newpath'#ig' $refile
echo $refile >> $basepath.log
done
fi
echo "end=====================================================================================" >> $basepath.log
echo "=">> $basepath.log
echo $i >> $basepath.log
echo "=">> $basepath.log
i=$(($i+1))
done < $1
}
if [ "$1" != "" ] || [ "$2" != "" ] || [ "$3" != "" ];then
_replace $1 $2 $3
else
echo "use like this:$basepath file filepath type"
fi
相关推荐
-
后台实时分流文件的shell脚本
将bill 文件夹下的文件按一定规则(文件名奇偶)拷贝至bill1,bill2 文件夹下.更新bill1,bill2 处理进度标签(更新file.max)file3 为bill 目录下当前最新文件的标签,正常情况下每分钟会更新(格式为:20121016122100) 复制代码 代码如下: #!/bin/bash#for wanggy 2012/10/16bill1=/infosms/bill1bill2=/infosms/bill2file_max=`cat file3`cd /infosms/
-
linux下保留文件系统下剩余指定数目文件的shell脚本
本节内容:保留文件系统下剩余指定数目的文件 例子: 复制代码 代码如下: #!/bin/bash #------------------------------- #Description: Back up your files#site: www.jb51.net#------------------------------- #shell 变量path_source=/mnt/fifth/shell path_backup=/mnt/fifth/backup/shellbackup path
-
Byshell后门:无进程无DLL无硬盘文件
适合读者:入侵爱好者.网络管理员.黑器迷 前置知识:C基本语法 刘流:后门是黑客们永恒的话题,在各大网站如163.Yahoo.北大等相继被黑之后,越来越多的人开始关注服务器的安全,而各种后门技术也空前地火暴起来!今天我们将给大家带来一个重量级后门的使用.编程方法,让广大新手朋友们有好后门玩,让编程技术爱好者有好的后门编程技术可以借鉴.当然,更多的新技术还等你去发掘. Byshell后门:无进程无DLL无硬盘文件无启动项 现在网络上流行的木马后门类工具很多,但可以称为精品的则没有多少,大多数新手们
-
shell对比文件内容脚本分享
复制代码 代码如下: #!/bin/shfunction _diffab(){x=0for i in `cat $1`;do for j in `cat $2`;do if [ $i == $j ];then x=1 break; fi done if [ $x -ne 1 ];then
-
判断文件是否存在的shell脚本代码
实现代码一. #!/bin/sh # 判断文件是否存在 # link:www.jb51.net # date:2013/2/28 myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi # 这里的-d
-
使用ShellClass获取文件属性详细信息的实现方法
首先引用COM组件Microsoft Shell Controls And Automation这里需要注意DLL的属性Embed Interop Type 设为False否则会引起互操作类型异常 代码如下ShellClass sh = new ShellClass();Folder dir = sh.NameSpace(Path.GetDirectoryName(sFile));FolderItem item = dir.ParseName(Path.GetFileName(sFile));s
-
shell查找当前目录下大于1M的文件的三种方法分享
1.使用find的参数实现 复制代码 代码如下: [root@xiaobb mnt]# find . -maxdepth 1 -size +1000000c./sys.tar.gz./install.tar.bz2./CTeX_2.9.0.152_Full.exe./php-5.3.6.tar.gz[root@xiaobb mnt]# ls -lhtotal 1.3G-rw-r--r-- 1 root root 1.1G 2011-04-28 11:35 CTeX_2.9.0.152_Full.
-
Visual Style中的shellstyle.dll文件修改方法
Visual Style中的shellstyle.dll文件修改 2007-3-8 11:25:00 作者: Silencer shellstyle.dll修改 *部分内容参考自whistl3r的Shellstyle Tutorial 预备知识 1.shellstyle.dll的结构 UIFiles: UIFile1:定义窗体及任务列表样式 UIFile2:定义控制面板样式 Resources:资源文件列表 10,11,12:音乐文件夹 13,14,15:图片文件夹 16,17,18:查找
-
shell去掉文件中空行(空白行)的方法详解
本文详细介绍了使用shell去除文件中的空行的方法,学习下sed.awk.shell文件检测的方法,有需要的朋友可以作个参考. 本节内容:shell去掉文件中空行 1,shell 去掉文件中的空行 复制代码 代码如下: cat filename | sed -e '/^$/d' > filename 2,保留最新的9个文件,其它的文件删除的命令语句 复制代码 代码如下: ls -t | awk '{if(NR>9){print $0}}' |xargs rm -f 附,shell中的特殊变量
-
在指定目录查找指定后缀文件的shell脚本代码
复制代码 代码如下: #!bin/sh # 在指定位置查找指定后缀的文件,包括子目录 # 用法: # findf $1 $2 # 第一个参数为后缀 # 查找指定后缀的文件并打印出来 # link:www.jb51.net# date:2013/2/26 f() { list=`find $2|grep "/.$1/>"` for i in $list do echo $i done } # 打印用法 print() {
-
合并一个文件夹下多个文件内容的单行shell命令
合并一个文件夹下多个文件内容: 复制代码 代码如下: find -name "*.log" -exec 'cat' {} \; > test.tmp
-
批量转换目录下文件编码的shell脚本代码
一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不一致需要修改. 例子: 复制代码 代码如下: #!/bin/bash# File Name: iconv.sh# Author: wanggy# site: www.jb51.net#show_file(){ for file in `ls $1`
-
shell判断文件,目录是否存在或者具有权限的代码
核心代码 #!/bin/sh myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" #这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi #这里的-d 参数判断$myPath是否存在 if [ ! -d "$myPath"]; then
-
查找目录下同名但不同后缀名文件的shell脚本代码
因为后台录入的同事,上传文件的时候,给文件取了相同的名字,但不同的后缀名,由于文件路径非常深,大概十层左右,每一层又有几十个文件,所以人工找起来非常麻烦,所以写了个脚本,帮他们实现查找指定目录下所有子目录及文件,找出相同文件名,不同后缀的文件,然后,手动保留其中一个. 复制代码 代码如下: #!/bin/bash #判断一下脚本参数的问题 if [ $# -ne 1 ];then echo "Usage find_same.sh direcroty" exit f
-
找出文件中包含指定字段的文件的shell脚本
复制代码 代码如下: #!/bin/bash find / -name "*.php" > list.txt f=`cat ./list.txt` for n in $f do r=`egrep 'abc' $n` if [ ! "$r" = "" ] ; then echo $n fi done
随机推荐
- iOS开发中的几个手势操作实例分享
- javascript中使用replaceAll()函数实现字符替换的方法
- Java动态添加view的方法
- 一览画面点击复选框后获取多个id值的方法
- ASP.NET笔记之 viewstate与cache的使用
- Python中常见的数据类型小结
- 用ASP打开远端MDB文件的方法
- C#请求http向网页发送接收数据的方法
- 简单实现Android滚动公告栏
- Centos中root密码重置的实现及步骤详解
- 可自定义速度的js图片无缝滚动示例分享
- Node.js使用Express创建Web项目详细教程
- 深入理解Java的Spring框架中的IOC容器
- 在SQL SERVER中导致索引查找变成索引扫描的问题分析
- MySQL与存储过程的相关资料
- Kafka使用入门教程第1/2页
- C#裁剪,缩放,清晰度,水印处理操作示例
- Android编程之界面跳动提示动画效果实现方法
- 关于C#基础知识回顾--反射(二)
- javascript自定义事件功能与用法实例分析