我无法找到最适合我需求的答案,如果有人能够轻松找到它,我深表歉意。
我有一个脚本可以根据文件的名称将文件移动到文件夹中。它工作得很好,直到我意识到一旦我修复了这些文件就丢失了它们的扩展名(另一个脚本负责基于电子邮件主题行的文件命名)一旦我解决了这个问题,它就开始为每个文件创建一个文件夹。无论如何我可以让这个脚本在第一个(。)之前删除文件夹名称中的所有内容
这是脚本
#!/bin/bash
#folder script
#Benjamin D. Schran
MAIN_DIR=/PGHWH1/Photos
cd $MAIN_DIR
find . -maxdepth 1 -type f > SCRIPT_LOG1
find . -name '* *' | while read fname
do
new_fname=`echo $fname | tr " " "_"`
if [ -e $new_fname ]
then
echo "File $new_fname already exists. Not replacing $fname"
else
echo "Creating new file $new_fname to replace $fname"
mv "$fname" $new_fname
fi
done
find . -maxdepth 1 -type f | while read file;
do
f=$(basename "$file")
f1=${f%.*}
if [ -d "$f1" ];
then
mv "$f" "$f1"
else
mkdir "$f1"
chmod 777 "$f1"
mv "$f" "$f1"
fi
done
SCRIPTLOG=Script_log.$(date +%Y-%m-%d-%H-%M)
find . -type f > SCRIPT_LOG2
cd /PGHWH1/bin
sh scriptlog.sh > $SCRIPTLOG.html
mv $SCRIPTLOG.html /PGHWH1/log
rm $MAIN_DIR/SCRIPT_LOG1 $MAIN_DIR/SCRIPT_LOG2
我需要它做的是获取一个文件
Filename-date.%.jpg
和做
Foldername-date
然后移动文件
Filename-date.1.jpg
Filename-date.2.jpg
Filename-date.3.jpg
到相应的文件夹
Foldername-date
但当前的输出是
Foldername-date.1
Foldername-date.2
Foldername-date.3
任何帮助将不胜感激