#linux #指定前缀 #指定后缀
问题描述:提取指定前缀文件到其他文件夹,如果没有对应子文件夹,则新建对应名称的子文件夹。
注:指定后缀同理,复制同理
程序需要修改的地方(改成自己的路径):
A_DIR="/home/1_rawdataDF/"
B_DIR="/home/1_rawdataDFS4/"
PREFIX="s4"
bash
# 原始文件夹
A_DIR="/home/1_rawdataDF/"
# 目标文件夹
B_DIR="/home/1_rawdataDFS4/"
# 指定前缀
PREFIX="s4"
if [ ! -d "$A_DIR" ]; then
echo "A
X(: $A_DIR"
exit 1
fi
if [ ! -d "$B_DIR" ]; then
echo "
X(: $B_DIR"
exit 1
fi
for sub_dir in "$A_DIR"/*; do
if [ -d "$sub_dir" ]; then
sub_name=$(basename "$sub_dir")
b_sub_dir="$B_DIR/$sub_name"
if [ ! -d "$b_sub_dir" ]; then
mkdir -p "$b_sub_dir"
if [ $? -ne 0 ]; then
echo "no $b_sub_dir"
continue
fi
fi
find "$sub_dir" -type f -name "$PREFIX*" -exec mv {} "$b_sub_dir/" \;
echo "ok$sub_dir -$PREFIX* move $b_sub_dir"
fi
done
echo "all done!"