以前没有接触过Shell,这次图片文件批量转移的脚本,是通过两天时间学习加东拼西凑做出来的,虽然解决了问题。但对Shell还是一知半解。希望以后不断学习和总结。这个是此次当中学习到的一些知识点:
1 df -g 查看硬盘使用情况
2 ls,mkdir,basename,dirname等文件操作
3 | 管道
4 if 条件
then
语句
else
语句
fi
如果then下面无语句,会报错
5 for file2004 in $filelist2004
do
done
变量file2004之前无需定义,变量filelist2004是一个数组类型的变量,比如ls的结果
6 用if [ -d "dirpath" ]; then来测试相应的目录是否存在
7 $()对变量的引用
8 egrep 正则表达式
'^[0-9]{2}$' 代表00-99,注:如无前面的^和后面的$,则是前面是00-99的所有字符串
'(10000[5-9]|1000[1-9][0-9]|100[1-9][0-9]{2}|101[0-1][0-9]{2}|1012[0-3][0-9]|10124[0-2])' 代表100005-101242之间的范围,用正则表达式来表达数值的范围,好像是一种很傻的方法,但也能很好的解决问题。手工写这个正则表达式有点烦,如能借助工具自动生成就更好了
8 print "字符" | tee –a 文字名,即在标准输出显示,也追加到文件
1 df -g 查看硬盘使用情况
2 ls,mkdir,basename,dirname等文件操作
3 | 管道
4 if 条件
then
语句
else
语句
fi
如果then下面无语句,会报错
5 for file2004 in $filelist2004
do
done
变量file2004之前无需定义,变量filelist2004是一个数组类型的变量,比如ls的结果
6 用if [ -d "dirpath" ]; then来测试相应的目录是否存在
7 $()对变量的引用
8 egrep 正则表达式
'^[0-9]{2}$' 代表00-99,注:如无前面的^和后面的$,则是前面是00-99的所有字符串
'(10000[5-9]|1000[1-9][0-9]|100[1-9][0-9]{2}|101[0-1][0-9]{2}|1012[0-3][0-9]|10124[0-2])' 代表100005-101242之间的范围,用正则表达式来表达数值的范围,好像是一种很傻的方法,但也能很好的解决问题。手工写这个正则表达式有点烦,如能借助工具自动生成就更好了
8 print "字符" | tee –a 文字名,即在标准输出显示,也追加到文件