歡迎您光臨本站 註冊首頁

Linux Shell使用Bash腳本批量刪除文件

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

 

 

PHP每天生成一個存有系統要刪除的臨時文件的.out文件列表,由bash腳本逐行通過讀取.out文件(每一行代表一個待刪除的文件)挨個刪除,代碼如下(dl.sh):

  #!/bin/bash

  # Shell script utility to delete file.

  # You can call script as follows, to read myfile.txt:

  # ./dl.sh or.txt

  # Copyright (c) 2009 kokko <http://www.kokkowon.com/>

  #User define Fuction(UDF)

  processLine(){

  line="$@" #get all args

  if [ ! -f $FILE ]; then

  echo "$line does not exists"

  else

  echo "$line"

  rm -rf $line

  fi

  }

  #echo Please enter the file name:

  #read FILE

  if [ ! "$1" == "" ]; then

  FILE="$1"

  else

  echo Please enter the file name:

  read FILE

  fi

  if [ ! -f $FILE ]; then

  echo "$FILE does not exists"

  exit 1

  elif [ ! -r $FILE ]; then

  echo "$FILE cann't read"

  fi

  #read $FILE using the file descriptors

  BAKIFS=$IFS

  IFS=$(echo -en "\n\b")

  exec 3<&0

  exec 0<"$FILE"

  while read -r line

  do

  processLine $line

  done

  exec 0<&3

  IFS=$BAKIFS

  exit 0

  執行:

  kokkowon@itbeing.com [~/www]# ./dl.sh ./temp.out

  結果:

  ./message.tmp

  ./ECShop_V2.7.1_UTF8_Release1228.zip

  ./captcha.tmp

  ./index.tmp

  ./goods_script.tmp

  ./region.tmp

  ./article.tmp

  ./comment.tmp

  ./animated_favicon.gif

  ./auction.tmp

  ./catalog.tmp

  ./category.tmp

  ./affiche.tmp

  ./group_buy.tmp

  ./search.tmp

  ./favicon.ico

  ./itbeing/Cache/776e414da1b246fca4e72f34d6e5cce9.tmp

  ./itbeing/Cache/e8a01c49e3bd6881d1526bce80cbcad7.tmp

  ./itbeing/Cache/13da2f5482df2335081ce60c3ac5828c.tmp

  ./itbeing/Cache/aec1e7b1c552ce75969652a157572320.tmp

  ./pm.tmp

  ./respond.tmp

  ./exchange.tmp

  ./flow.tmp

  ./myship.tmp

  ./sitemaps.tmp

  ./snatch.tmp

  ./error_log

  ./article_cat.tmp



[火星人 ] Linux Shell使用Bash腳本批量刪除文件已經有283次圍觀

http://coctec.com/docs/linux/show-post-65745.html