linux下批量修改文件名(老男孩學習總結)

[開發腳本]
[root@oldboy oldboy]# cat oldboy_modi_file.sh 
#!/bin/sh
for file in `ls ./*.jpg`  
#shell腳本for循環,file爲變量依次取得ls ./*.jpg的結果文件名
do
mv $file `echo $file|sed 's/finished//g'` 
#使用mv命令進行更改文件,新的文件名字符串拼接是本題的重點。
done
#特別提示:通過本題,可以學習到for循環的使用,及mv、sed等命令的使用


[root@oldboy oldboy]#cat change_file_name.sh 
#!/bin/sh
# oldboy QQ:31333741
for file in `ls ./*.jpg` 
 do 
/bin/mv $file `echo "${file%finished*}.jpg"`  #這裏就是變量的截取新方法,在老男孩的shell編程課程中會講到此用法。
done 

############################################################

i=ip.log

echo "${i/%log/LOG}"


方法三:ls結合awk實現

[root@oldboy oldboy]# ls |awk -F 'finished' '{print  $0}'

[root@oldboy oldboy]# ls |awk -F 'finished' '{print  $1}'

[root@oldboy oldboy]# ls |awk -F 'finished' '{print  $2}'

[root@oldboy oldboy]# ls |awk -F 'finished' '{print  $1$2}'

[root@oldboy oldboy]# ls |awk -F 'finished' '{print "mv "$0" "$1$2" "}'|/bin/bash


方法四:通過專業的改名命令rename實現

[root@oldboy oldboy]# rename .jpg .oldboy *


原文:http://oldboy.blog.51cto.com/2561410/711342/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章