sed 替换文件中的字符串 in solaris

#!/bin/bash

if [ "$#" -ne 3 ]; then
  echo "Usage: $0 <OLD> <NEW> <FileSuffix>" >&2
  exit 1
fi

sourcename=$1
destinationname=$2

echo "Replacing $sourcename to $destinationname for all files with SUFFIX=$3 ..."

if [ -z "$3" ]
then
      echo "\$3 is empty, set SUFFIX=sh"
      SUFFIX=$3
else
      echo "\$3 is NOT empty, set SUFFIX=$3"
      SUFFIX=$3
fi

FILE="listfilename.tmp"

if [ -f $FILE ]; then
   echo "File $FILE exists, removed."
   rm -rf $FILE
else
   echo "File $FILE does not exist, processing."
fi

LOGFILE="rename.sh.log"

if [ -f $LOGFILE ]; then
   echo "File $LOGFILE exists, removed."
   rm -rf $LOGFILE
else
   echo "File $LOGFILE does not exist, processing."
   touch $LOGFILE
fi

/usr/xpg4/bin/grep "$sourcename" *.$SUFFIX | cut -f1 -d : > $FILE
cat $FILE
while IFS= read -r line; do
  /usr/xpg4/bin/sed 's/$sourcename/$destinationname/g' $line > $line.tmp && mv $line.tmp $line
  echo "[$line] Replace $sourcename to $destinationname is completed successfully." >> $LOGFILE
done < $FILE

rm -rf $FILE
echo "All files are processed, please refer to the log file $LOGFILE ..."

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值