linux 批量重名名
Linux Shell 批量重命名的方法总览
shell 参数:
位置参数 :
$N N 是从0 开始,1是向shell传递的参数。
内部参数:
$# 传递给程序的总的参数数目。
$? 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0 ,否
则返回非0值。
$* 传递给程序的所有参数组成的字符串
$@ -"以参数1" "参数2" 形式保存任何参数。
$$ 本程序的PID
$! 上一个程序的PID
读取文件指定行
sed -n Np 文件名
sed -n '5,10{/pattern/p}' file
1、删除所有的 .bak 后缀:
rename 's/\.bak$//' *.bak
2、把 .jpe 文件后缀修改为 .jpg:
rename 's/\.jpe$/\.jpg/' *.jpe
3、把所有文件的文件名改为小写:
rename 'y/A-Z/a-z/' *
4、将 abcd.jpg 重命名为 abcd_efg.jpg:
for var in *.jpg; do mv "$var" "${var%.jpg}_efg.jpg"; done
5、将 abcd_efg.jpg 重命名为 abcd_lmn.jpg:
for var in *.jpg; do mv "$var" "${var%_efg.jpg}_lmn.jpg"; done
6、把文件名中所有小写字母改为大写字母:
for var in `ls`; do mv -f "$var" `echo "$var" |tr a-z A-Z`; done
7、把格式 *_?.jpg 的文件改为 *_0?.jpg:
for var in `ls *_?.jpg`; do mv "$var" `echo "$var" |awk -F '_' '{print $1 "_0" $2}'`; done
8、把文件名的前三个字母变为 vzomik:
for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/^.../vzomik/'`; done
9、把文件名的后四个字母变为 vzomik:
for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/....$/vzomik/'`; done
删除svn
find . -type d -name ".svn"|xargs rm -rf