Buat show show slash setelah direktori?


19

Bagaimana saya bisa membuat perintah find memperlihatkan garis miring setelah direktori? Misalnya, saya ingin dirtampil sebagai dir/ganti dir. saya menggunakanfind . -print

Jawaban:


10

Portabel:

find . -type d -exec sh -c 'printf "%s/\n" "$0"' {} \; -or -print

Jika Anda ingin membuat daftar direktori dan file secara terpisah (Anda dapat menggabungkan output dengan menyortir):

{ find . -type d -print | sed 's!$!/!'; find . \! -type d; } | sort

Dengan GNU find, lihat jawaban Shawn J. Goff .

Jika Anda ingin mengambil risiko karakter yang tidak dapat dicetak rusak bahkan ketika tidak menghasilkan ke terminal, lihat jawaban ddeimeke .

Di zsh: print -rl -- **/*(DM)( Duntuk memasukkan file dot, Muntuk menambah /direktori after)


Perintah pertama tidak mencetak garis miring untuk saya, tetapi yang kedua tidak.
— Steven

15
find . \( -type d -printf "%p/\n" , -type f -print \)

Ini menggunakan perintah printf untuk memformat nama direktori dan cetak standar untuk yang lain.


Saya terus kagum pada fleksibilitas menemukan.
— Shawn J. Goff

1
Catatan yang -printfkhusus untuk menemukan GNU.
— Gilles 'SANGAT berhenti menjadi jahat'

Jawaban bagus. Saya suka bagaimana findargumen posisi memungkinkannya melakukan output lanjutan seperti ini. Namun, perhatikan bahwa tanpa spasi di sekitar koma, itu tidak akan berfungsi.
— jimp

1
Berdasarkan jawaban ini dan Gilles ', saya datang dengan versi sederhana berikut:find . -type d -printf '%p/\n' -or -print
— Teresa e Junior

8

Mungkin

find . -print0 | xargs -0 ls -Fd

juga merupakan pilihan.

Dari halaman manual Solaris:

-F Menandai direktori dengan garis miring (/), pintu dengan tanda lebih besar dari tanda (>), file yang dapat dieksekusi dengan tanda bintang (*), FIFO dengan bilah garis vertikal (|), tautan simbolis dengan tanda " at "sign (@), dan AF_UNIX soket keluarga alamat dengan tanda trailingequals (=). Mengikuti symlink yang disebut operan.


@Gilles: Terima kasih untuk "d" ;-)
— ddeimeke

ini meningkatkan jumlah syscalls
— Paweł Polewicz
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.