Apakah ada cara untuk memberi tahu find
perintah bash untuk menampilkan apa yang dilakukannya (mode verbose)?
Misalnya untuk perintah:
find /media/1Tb/videos -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;
to output:
Found /media/1Tb/videos/102, executing rm -rf /media/1Tb/videos/102
...
find
, jadi acungan jempolfind
cinta tumbuh lain hanyalah sedikit. terima kasih :)find -L . -type l -delete -print
Bagaimana kalau hanya menggunakan
rm -vf
untuk keluaran rm verbose.sumber
rm
itu keren tetapi jika saya menggantinya dengan sesuatu yang lain saya tidak bisa lagi melihat file apa yang sedang dikerjakan (kecuali saya gunakanecho
di dalam-exec
)Alternatifnya adalah membiarkan perintah dijalankan oleh
sh -x
:sumber
shell
debug
Mode akan cukup jelas tentang apa yang telah terjadi. Terima kasihAda juga
find -D xxxx
yang bisa membantu dalam beberapa kasus.Di bawah ini adalah dua contoh
find -D search
:Menggunakan RHEL 6.3 (
find
v4.4):Menggunakan Cygwin 1.7 (
find
4.5):sumber
@ hlovdav jawaban sudah cukup untuk saya tetapi saya melakukan beberapa modifikasi untuk saya gunakan sendiri
Penjelasan
pattern
null
terpisah, penting jika Anda memiliki nama file dengan spasi atau karakter yang tidak biasa di dalamnyaxargs
bacanull
terpisah, atur setiap record placeholder ke%%
Ini juga memastikan setiap kali hanya menggunakan satu argumenbash
perintah, satu-liner, apa pun yang masuk ke dalam, harus dikutip tunggal'
--
berarti apa pun yang saya lakukan setelah ini bukanxargs
ataubash
opsi tetapi parameter posisional untuk skrip satu baris sayabash
skrip, Anda dapat mengakses%%
sebagai$1
, argumen posisi No # 1Catatan: Anda dapat mengubahnya
%%
dengan apa saja, pastikan Anda tidak perlu menggunakannya untuk apa pun selain pengganti. Menggunakan dollar$
atau@
mungkin tidak baik, kecuali jika ganda@
seperti@@
.sumber