shell脚本在文件夹结构中循环并使用awk打印特定路径

时间:2017-07-13 07:11:30

标签: bash shell awk

我使用以下脚本根据年/月/日进入目录并获取该文件的完整路径然后回显该文件的URL

dir_proc=/var/data/2017
for month_day in {01..12}/{01..31}; do
    [[ -e $dir_proc/${month_day} ]] || continue
    for file in "$dir_proc/${month_day}/"*; do
        [[ -e $file ]] || continue
    echo "http://msite.com/${file}"
    done
done

我当前输出的例子

http://msite.com/var/data/2017/01/10/file.jpg

当我回显输出时,我试图使用awk删除url的文件系统路径,url应该像

http://msite.com/data/2017/01/10/file.jpg

任何调整提示

1 个答案:

答案 0 :(得分:1)

awk方法:

$ link="http://msite.com/var/data/2017/01/10/file.jpg"
$ echo "$link" | awk '{gsub("/var/","/")}1'
http://msite.com/data/2017/01/10/file.jpg

sed方法:

echo "$link" | sed 's#/var/#/#g'
http://msite.com/data/2017/01/10/file.jpg