Saya mencari untuk melihat secara rekursif direktori untuk menemukan file TIDAK dimiliki oleh pengguna tertentu dan saya tidak yakin bagaimana menulis ini.
182
Utilitas find (1) memiliki primary yang dapat dinegasikan ("terbalik") menggunakan "!" operator. Namun pada prompt, seseorang harus melarikan diri dari negasi dengan backslash karena merupakan metacharacter shell. Hasil:
find . \! -user foo -print
!
tampaknya menjadi opsionalxargs -I{} -P3 -- ${cmdhere} {}
agar $ {cmdhere} beroperasi pada setiap file secara paralel. cmdhere :: = utix unix utils standar; standard unix utils :: = chmod, chown, stat, ls, ...find . ...
atau pipa kexargs
cara pertama atau kedua?find . ! -user foo -exec chown <owner>:<group> {} \;
Yang lain telah menjawab pertanyaan itu "TIDAK dimiliki oleh pengguna tertentu" di dalam tubuh. Inilah salah satu yang menjawab pertanyaan tituler tetapi belum disediakan:
Anda dapat menggunakannya seperti ini:
Dan yang terkait:
sumber
-user
ditemukan oleh pengguna atau ID pengguna, dan!
membalikkan predikat. Jadi,! -user ...
.sumber
Anda bisa menggunakan ini:
sumber
Menggunakan z-shell (zsh) yang dapat Anda gunakan
atau
untuk mencari semua file secara rekursif yang bukan milik Anda.
sumber
-a
flag karena ekspansi wildcard. Untuk menangkap dot file menggunakan zshdotglob
pilihan:setopt dotglob
. Dalam satu baris:(setopt dotglob; ls **/*(^U) )
. Tanda kurung dijalankan dalam subkulit sehingga Anda tidak harus menjalankansetopt nodotglob
setelah selesai.