linux讀取文件是經常要用到的操作,以下示例(說明看注釋):
#讀取文件snlist.txt中的每一行內容賦給sn變量 while read sn do echo ">>>>>>>sn is $sn" # 判斷是否是文件 if [ ! -d "$sn" ];then echo $sn "not existed" else # 對sn進行"/"拆分並獲取最后一個結果,如lib/aa結果為aa filename=`echo $sn | awk -F "/" '{print $NF}'` echo ">>>>>>> filename is $filename" if [ ! #filename ];then echo "cur filename is empty" continue fi # 統計名字為sn目錄下的文件數量,不包含文件夾 count=`ls -l $sn | grep "^-" | wc -l` if [ $count -ge 1 ];then # 將名字為$sn目錄下的第一層下面(即當前目錄,不算子目錄)的所有文件的名字記錄到 $filename.txt文件中 find $sn/ -maxdepth 1 -type f > $filename.txt fi # 復制 $filename.txt到lib/filename/目錄下 cp $filename.txt lib/filename/ # 刪除 $filename.txt rm -rf $filename.txt fi done < snlist.txt
上述腳本功能是將snlist.txt文件(記錄了某些文件目錄名稱)中對應的文件目錄下的所有文件的名字記錄到xxx.txt中,並將其復制到指定的目錄下