8
A
回答
12
可以ls -d
文件,看看哪些得到一些輸出。既然你有一個字符串,只需管道清單,並使用xargs
能夠ls
他們。
要隱藏錯誤,請將它們重定向到/dev/null
。總之,xargs ls -d 2>/dev/null
使它:
$ echo 'a.txt
b.txt
other' | xargs ls -d 2>/dev/null
a.txt
b.txt
正如你看到的,xargs ls -d
執行ls -d
給定的所有參數。 2>/dev/null
擺脫stderr消息。
0
我想出了使用stats
的退出代碼在一段時間讀循環第一件事:
<input> | while IFS= read -r f; do stat "$f" &>/dev/null && echo "$f"; done
請注意,此解決方案是慢,因爲它在shell代碼迴路,並調用一個 外部工具(在每個迭代中創建一個子進程,stat
)。
+1
你的願望是我的命令。 – mklement0
1
如果你有GNUxargs
,使用-d '\n'
確保文件名帶空格的正確處理。
$ echo 'a.txt
does/not.exist
b.txt' | xargs -d '\n' find 2>/dev/null
隨着BSD/MacOS的xargs
,這是一個有點複雜:
echo 'a.txt
does/not.exist
b.txt' | tr '\n' '\0' | xargs -0 find 2>/dev/null
0
我會使用bash的,如果要檢查的文件。它結束時不那麼緊湊,但我認爲閱讀更清晰,並且更容易對結果中找到的每個文件執行一些操作。
它與具有空格的文件名兼容。
echo 'a.txt
does/not.exist
b.txt' | while read filename
do
if [[ -f "$filename" ]]
then
echo $filename # Or do something else with the files here
fi
done
相關問題
- 1. 篩選子文件陣列
- 2. Laravel文件列表和按篩選文件名計數
- 3. 使用python將文件列表保存到文本文件中
- 4. 將列表保存到文件
- 5. 將列表保存到txt文件
- 6. 基於文件名篩選文件
- 7. 將選中項從列表視圖保存到文件
- 8. 如何將下拉列表選定值保存到Xml文件?
- 9. 篩選一個XML文件
- 10. Powershell篩選輸出文件
- 11. 篩選日誌文件
- 12. MSDeploy包文件篩選
- 13. 批量將文件從文件列表複製到文件夾列表
- 14. 輸出到日誌文件,並篩選批處理文件
- 15. 在Dir中的文本文件並將文件名存儲在列表中python
- 16. 將文件名列表的輸出打印到文本文件
- 17. 列表保存到文件的Android
- 18. 在文件夾C中篩選文件名的scandir語言
- 19. 如何篩選的.exe從文本文件的文件
- 20. 從文件列表中選擇文件
- 21. 將UIView的表示保存到文件
- 22. 如何將列表保存到csv文件的不同列中
- 23. 在文本文件中保存列表
- 24. 輸出文本文件,篩選
- 25. 如何將此文本文件保存到python列表中
- 26. 如何將列表保存到文本文件?
- 27. 將一個目錄列表保存到一個文本文件
- 28. 將文本文件內容保存到鏈接列表
- 29. 將數據從列表保存到文本文件
- 30. 基於列值的篩選文本文件
...與通常解析'ls'輸出的警告;例如,如果其中一個參數是一個目錄,您將獲得該目錄的內容,而不是其名稱。 – tripleee
好的,也許'ls -d'會是最好的。 – fedorqui