2013-01-17 128 views
0

我是UNIX新手,請幫忙。檢查目錄中是否存在多個文件

我有一個文件,它有很多行,每行是一個文件名。

現在我想檢查每個文件是否存在於具有某些前綴的另一個目錄中。

例如,我的文本文件的內容是

abc.def.ghi.jkl 
mno.pqr.stu.vwx 

我想測試,如果每個文件在目錄中存在,如

cd <search directory> 
ls -ltr *abc.def.ghi.jkl* 

如果上述結果爲假,則拋出一個錯誤。

注意:文件內容是DYNAMIC,我通過另一個腳本生成這個文件。

+0

什麼殼您正在使用?你有什麼嘗試? – gpojd

+0

以改進您將來的格式化,突出顯示想要作爲代碼顯示的文本,然後使用文本輸入框右上角附近的格式化工具。祝你好運。 – shellter

回答

0

這是預期的應答

`ls -l > temp.cat 
for i in $(cat temp.txt) 
do 
     ls -l *$i* 
     if [[ $? -eq 0 ]] 
     then 
     echo " File found" 
     else 
     echo " File not found for $i" 
     fi 
done 
rm -f temp.txt` 

`

0

假設你的文件

$ cat myList 
abc.def.ghi.jkl 
mno.pqr.stu.vwx 

一個快速的解決方案是

cat myList | xargs ls -ltr 

如果沒有找到的文件ls輸出會抱怨與

ls: xxx: No such file or directory 

IHTH

到stdout
+0

感謝您的迴應和建議的避難所... 即時搜索的目錄不會有確切的文件名..其他一些東西將加上前綴 – makawana

+0

如果這不能解決您的問題,你可以重申它,帶有樣本輸入,期望的輸出和您嘗試過的代碼?否則,請通過答案左上角的櫃檯選擇複選標記來接受幫助您的答案。祝你好運。 – shellter

+0

如果文件不存在,您的答案也不會給我一個錯誤 – makawana