有个简单的文件列表拷贝脚本

首先介绍一下故事背景:

我们在服务器上有一个文件夹,保存了所有上传的文件,并且文件名是经过Hash过的。文件归类信息完全保存在有一个MYSQL数据表中。现在的需求是把某一个类型的文件全部拷贝出来。

因此,我们先从数据库中导出了一份文件列表,格式如下:

./data/fec84d1279a448c4a0532783069bfb42.xml
./data/fccfd134cff44fec834b3e2d632ffcf7.xml
./data/fbf539d9eece45d29c689008ad946326.xml
./data/fba16daecfb2439f9243fa2904b0b312.xml
...
...
...

根据这个文件列表,我们写了一个bash shell脚本,把对应的文件全部拷贝到另外一个文件夹test中做后续处理。以下是该bash shell脚本的示例代码:

#!/bin/bash
# read from config file


hostConfig="./filelist.txt"
echo "Read config from $hostConfig"
files=()
while read -r line
do
    if ! [[ $line =~ ^# ]]
    then
        files+=($line)
    fi
done < "$hostConfig"

for h in "${!files[@]}"
do
    echo "Copy file ${files[h]}"
    cp ${files[h]} ./test/
done

猜你喜欢

转载自blog.csdn.net/leojames102/article/details/84857602