感谢您阅读&您的建议。我正在将文件移动到各自的目录中,只有部分文件使用_
,有些使用-
(下划线和连字符)作为分隔符。有没有办法测试不同的分隔符?shell脚本来测试文件名中的分隔符字符
如:
ParentDir
1897/
1898/
1994summer/
file-1897-001.txt
file-1897-002.txt
file-1898-001.txt
file-1898-002.txt
file_1994summer_001.txt
file_1994summer_002.txt
我一直在下面的处理(详细,所以我能理解它)shell脚本:
!/bin/sh
for f in *.jp2
do
base=${f%.txt}
echo "base fileName is $base"
fileName=`echo "$base" | cut -f 2 -d _`
echo "truncated fileName is $fileName"
dir=$fileName
echo "Directory is $dir"
mv -v "$f" "$dir"
sleep 1
done
当使用剪切命令,我想能够区分分隔符。那可能吗?预先感谢您的时间&建议。 干杯!
case * $ {fName} in * _ *)underscore_processing $ {fName} ;; * - *)hyphen_process $ {fName} ;; *)all_other_processing $ {fName} ;; esac'。祝你好运。 – shellter 2012-04-21 17:41:18
为了便于携带,我想保留当前的she-bang,即'#!/ bin/sh'。我发现了一些其他需要bash的建议 - 是否有一种解决方法可以完全保留Bourne shell? – CanOfBees 2012-04-21 17:42:42
嗨@shellter - 感谢您的回应!我会马上测试它。 – CanOfBees 2012-04-21 17:43:17