【linux操作基础】多目录文件复制且同名不覆盖
前言
最近整理不同gt文件计算类别权重,发现整合后的gt文件数量变少,原因是不同目录中文件有同名的,发生覆盖,故记录之;
相关脚本:
脚本1:同名不覆盖复制文件
# 同名不覆盖复制文件 #!/bin/bash # 源目录 source_dir="./train/" # 目标目录 destination_dir="./gtrain/" # 创建目标目录(如果不存在) mkdir -p "$destination_dir" find "$source_dir" -type f -name "*.png" | while read -r file; do filename=$(basename "$file") target_file="$destination_dir/$filename" counter=1 while [ -e "$target_file" ]; do base_name="${filename%.*}" extension="${filename##*.}" target_file="$destination_dir/${base_name}_${counter}.${extension}" counter=$((counter + 1)) done cp "$file" "$target_file" echo "Copied $file to $target_file" done
脚本2:多目录下文件按照一定规则重命名
#!/bin/bash dirs_img=" /media/485E234682AE9EFD/01_dataset/APA/anno_image/data/yuyan_multitask_batch12_1434_20250311_700_img /media/485E234682AE9EFD/01_dataset/APA/anno_image/data/yuyan_multitask_batch12_1434_20250311_734_img " for dir in $dirs_img; do echo $dir for file in $dir/*.png; do # echo $file # 检查是否是文件 if [[ -f $file ]]; then # 重命名文件,添加后缀 # mv "$file" "${file}${suffix}" suffix=`echo $file|sed -r 's/(.*)(\..*)/\1_leftImg8bit\2/g'` # suffix=`echo $file|sed -r 's/(.*)(\..*)/\1_gtFine_labelIds\2/g'` # suffix=`echo $file|sed -r 's/(.*)(\..*)/\1_gtFine_labelIds\2/g'` mv $file $suffix fi done done dirs_gt=" /media/485E234682AE9EFD/01_dataset/APA/anno_image/data/yuyan_multitask_batch12_1434_20250311_700_gt /media/485E234682AE9EFD/01_dataset/APA/anno_image/data/yuyan_multitask_batch12_1434_20250311_734_gt " for dir in $dirs_gt; do echo $dir for file in $dir/*.png; do # echo $file # 检查是否是文件 if [[ -f $file ]]; then # 重命名文件,添加后缀 # mv "$file" "${file}${suffix}" # suffix=`echo $file|sed -r 's/(.*)(\..*)/\1_leftImg8bit\2/g'` suffix=`echo $file|sed -r 's/(.*)(\..*)/\1_gtFine_labelIds\2/g'` # suffix=`echo $file|sed -r 's/(.*)(\..*)/\1_gtFine_labelIds\2/g'` mv $file $suffix fi done done
脚本3:文件名称太长,将名称批量化写入txt文件
# 文件名称太长,将名称批量化写入txt文件 find gt/ -type f -printf "%f\n" > gt.txt
END
各美其美,美美与共,不和他人作比较,不对他人有期待,不批判他人,不钻牛角尖。
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/
浙公网安备 33010602011771号