linux 文件名亂碼 文件名出現問號 批量修改文件名



linux 文件名亂碼 文件名出現問號
原因:創建文件的批處理文件使用windows編輯的,因為windows的換行是\r\n,而linux換行是\n,出現一些亂碼

如何處理:  1. linux 批量重名名    2. dos2unix 把Windows文件轉換格式

 

Linux Shell 批量重命名的方法

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
for var in `ls *meme?`; do mv "$var" `echo "$var" | sed 's/?//g' |  sed 's/\r//g' | awk  '{print $1}'`; 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
 


REF

https://www.cnblogs.com/quant-lee/p/7462993.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM