linux 一些命令杂记

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

posted on 2013-06-04 10:24  Bo.Zhang  阅读(229)  评论(0编辑  收藏  举报