Command-Line
查找等效於 ls -p 的命令
是否需要找到生成輸出的命令,就像
ls -p
會生成一樣?
find /path/to/ -mindepth 1 -maxdepth 1 -exec basename {} \;
目錄沒有斜杠..我需要輸出文件夾名稱有斜杠樣本輸出:
folder 1/ my-file-1.sh
find命令列出沒有完整路徑的目錄內容和帶有斜杠的文件夾
$ find /path/to -mindepth 1 -maxdepth 1 -exec sh -c ' [ -d "$1" ] && printf "%s/\n" "${1##*/}" || printf "%s\n" "${1##*/}" ' _ {} \; aDirectory/ afile
說明:
[ -d "$1" ]
,這會檢查它是否是一個目錄,如果是,則執行如下printf
:printf "%s/\n" "${1##*/}"
否則,在下面執行
printf
:printf "%s\n" "${1##*/}"
${1##*/}
:這將刪除所有內容的最長匹配,*
直到/
從文件/目錄路徑的乞求開始看到最後一個斜杠,這只會導致最後一個目錄/文件名。
至少使用 GNU find,您可以使用內置的
-printf
例如find . -mindepth 1 -maxdepth 1 -type d -printf '%f/\n' -o -type f -printf '%f\n'