如何僅列出以逗號分隔的目錄中的文件

如何僅列出以逗號分隔的目錄中的文件

所以沒有目錄,也沒有隱藏檔案。只是文件。僅列出文件可以使用如下行來完成。

ls -p | grep -v /

現在我希望這一行的結果用逗號分隔。

答案1

您可以用於tr該工作。

ls -p | grep -v / | tr '\n' ','

答案2

您可以使用 GNUls -m命令。它將列印以逗號分隔的所有檔案和目錄。

答案3

Thomas 提出的解決方案有效,但它在最後一項中添加了一個逗號(這可能不是您想要的)並刪除了逗號後面的空格。以下替代方案保留逗號後面的空格,並且不在最後一項後面加上逗號:

 ls -1p | grep -v / | xargs echo | sed 's/ /, /g'

當然,如果你想去掉項目之間的空格,只需調整 sed 表達式即可:

 ls -1p | grep -v / | xargs echo | sed 's/ /,/g'

(使用小寫「l」和數字「1」(一)的字體的檢視者請注意:傳遞給的第一個選項ls1數字,而不是小寫l。)

正如 Jim L 在評論中指出的那樣,上述命令僅適用於不包含空格的檔案名稱。以下命令可以解決這個問題:

 ls -1p | grep -v / | sed 's/$/, /g' | xargs echo | sed 's/,$//g' 

echo在將列表傳遞給;之前,這會用逗號替換行結尾。最後一部分刪除了清單末尾的命令。

相關內容