1. 程式人生 > >shell指令碼實現檔案改名/重新命名

shell指令碼實現檔案改名/重新命名

  shell指令碼實現檔案改名小操作, 在此做一記錄.

#!/bin/bash
#將資料檔案.SAC名改為'<sta>.[N/E/Z].SAC'
#例如2014.143.20.49.21.0000.YN.BAS.00.BHE.M.SAC改為BAS.E.SAC

cd ../Data
for FILE in ./*
	do
	cd ./$FILE
	ls
  #先ls,顯示給檔案下的所有檔名,對這些檔名使用awk命令,print出相應的mv *** *** 交由bash處理,給檔案重新命名.
        ls *.SAC | awk -F"." '{print "mv "$0" "$8"."$10"."$12}' | bash 

  	rename "s/BH//" *   #將BH替換為"",即刪除BH
  #	rename 's/^/filt./' *.SAC  #增加字首"filt."
  #	rename 's/filt.//' *      #刪除字首"filt."
 	cd ..
	done