2013年12月19日 星期四

刪除目錄內所有tar檔案內的特定檔案

一年排程設備備份檔案, 年初不小心在目錄內誤放了幾個不相關 img, 結果年底要燒成光碟
結果總容量共22G, 沒辨法燒錄CD, 所以只好處理*.gz檔案, 刪除img後 剩下2xxM . O_O

原本想用人工一個一個檔案處理, 結果處理到第三個就放棄, 因為有3xx多個檔案


簡單迴圈顯示目錄下所有檔案
for f in `ls`; do
  echo "File -> $f"
done
簡單迴圈顯示目錄下所有.gz檔案
for f in `ls *.gz`; do
  echo "File -> $f"
done

#看一下gz檔案內的檔案列表
tar --list --file=device.config.20131219.tar.gz


#用gunzip 將.gz 解回.tar, 刪除掉檔案, 在將檔案用 gzip 壓縮
  (zip 的檔案好像無法直接刪除檔)

for f in `ls *.gz`; do
  echo "gzip File -> $f"
  gunzip $f
  fn=`echo $f|awk -F.gz '{print $1}'`
  echo "tar File -> $fn"
  tar --delete --file=$fn tftpboot/RFS7000-5.4.4.0-007R.img
  gzip $fn
done





沒有留言:

張貼留言

Extreme XOS run pyton scripts

XOS run python scripts v15.7 or high 將交換器上的 IP & MAC 往syslog 丟, 簡單將IP資料保留下 ## 編緝Scripts # vi ip2syslog.py #!/usr/bin/python # ...