shell替换文件中的文件路径脚本分享

 更新时间:2014年03月13日 15:01:41   作者:  
这篇文章主要介绍了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

相关文章

  • linux命令切换目录的使用方法

    linux命令切换目录的使用方法

    切换目录的方式有很多种,最常用的莫过于cd 命令了,这里介绍四个命令pushd,popd,dirs,cd -的使用方法
    2014-01-01
  • Linux bc命令实现数学计算器

    Linux bc命令实现数学计算器

    这篇文章主要介绍了Linux bc命令实现数学计算器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 浅谈shell脚本中的控制流结构

    浅谈shell脚本中的控制流结构

    今天小编就为大家分享一篇关于浅谈shell脚本中的控制流结构,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Linux创建用户的操作命令

    Linux创建用户的操作命令

    useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。这篇文章给大家介绍了Linux创建用户的操作命令,感兴趣的朋友一起看看吧
    2018-08-08
  • 查看某时间段到现在的系统日志的sed命令

    查看某时间段到现在的系统日志的sed命令

    查看某时间段到现在的系统日志的sed命令,需要的朋友可以参考下
    2013-02-02
  • linux shell 中 2>&1的含义

    linux shell 中 2>&1的含义

    对于&1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用
    2013-02-02
  • shell脚本一键部署docker的实现步骤

    shell脚本一键部署docker的实现步骤

    作为一名经验丰富的开发者,我们经常需要使用Docker来快速部署各种应用,本文主要介绍了shell脚本一键部署docker的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 一文详解Linux du命令的使用方法

    一文详解Linux du命令的使用方法

    在Linux系统中,du命令是一款功能强大且实用的工具,可用于查看文件和目录的磁盘使用情况,本文将深入探讨du命令的使用方法和一些常见选项,以协助您更全面地理解和有效地管理系统中的存储空间,需要的朋友可以参考下
    2024-02-02
  • Linux压缩和解压命令大全之tar、gzip和zip详细教程

    Linux压缩和解压命令大全之tar、gzip和zip详细教程

    本文介绍了常用的压缩和解压命令,包括tar、gzip和zip,通过使用这些命令,我们可以方便地对文件和目录进行压缩和解压操作,从而节省存储空间和提高传输效率,需要的朋友可以参考下
    2023-09-09
  • telnet 命令使用方法大全

    telnet 命令使用方法大全

    这篇文章主要介绍了telnet 命令使用方法大全,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01

最新评论