脚本汇总文件(sed的使用)

需求:
1、将指定名称的文件拷贝到指定目录;
2、并把文件路径间隔符/替换成_

此处以统计Jenkinsfile为例

#!/bin/bash

filelist=`find . -name Jenkinsfile`

i=0
for f in $filelist
do
    echo "file:$f"
    name=`echo $f |sed 's!\.\/!!g'|sed 's!\/!_!g'`
    cp $f ./jflist/$name
    let i++
done

注意此处的路径/的替换,此时不能使用's/\/\_/g',否则会出现下面的错误

sed: -e expression #1, char 8: unterminated `s' command

使用!替换使用\的位置,即's!\/!_!g'

使用变量

# 使用变量
sed -i 's/'''$a'''/'''$b'''/g' filename
# 变量中包含/
sed -i 's#'''$a'''#'''$b'''#g' file
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值