cd /tmp
find . -maxdepth 1 -mindepth 1 -type d -printf '%f\n'
Penjelasan singkat:
-
find
menemukan file (sangat jelas) -
.
adalah direktori saat ini, yang setelahcd
adalah/tmp
(IMHO ini lebih fleksibel daripada memiliki/tmp
langsung difind
memerintah. Anda hanya memiliki satu tempat,cd
, untuk mengubah, jika Anda ingin lebih banyak tindakan dilakukan di folder ini) -
-maxdepth 1
dan-mindepth 1
pastikan bahwafind
hanya melihat di direktori saat ini dan tidak menyertakan.
sendiri dalam hasil -
-type d
hanya mencari direktori -
-printf '%f\n
hanya mencetak nama folder yang ditemukan (ditambah baris baru) untuk setiap klik.
Et voila!
Semua jawaban sejauh ini menggunakan find
, jadi ini satu dengan cangkangnya saja. Tidak perlu alat eksternal dalam kasus Anda:
for dir in /tmp/*/ # list directories in the form "/tmp/dirname/"
do
dir=${dir%*/} # remove the trailing "/"
echo "${dir##*/}" # print everything after the final "/"
done
Bagaimana cara mendapatkan nama cabang git saat ini menjadi variabel dalam skrip Shell?
Tambahkan string awalan ke awal setiap baris