Bagaimana cara pipa menghapus nama file ke file?

1

Saya menggunakan perintah ini: find /var/mydirectory/foo -mmin +720 -exec rm {} \;

Bisakah saya membuatnya mencatat nama file yang dihapus ke log?

Dave Stein
sumber

Jawaban:

3

Gunakan teeperintah bersama dengan xargs.

find /var/mydirectory/foo -mmin +720 | tee files.log | xargs rm
Tim Pote
sumber
4

Anda selalu dapat menggunakan --verboseopsi ini rm, kecuali Anda hanya menginginkan nama file literalnya sendiri.

Ryan Thompson
sumber
Saya suka jawaban ini ... jika ada masalah dengan membatalkan tautan, tidak ada metode lain yang akan mencerminkan hal itu.
Ben Voigt
Dalam hal ini saya sebenarnya hanya ingin nama file untuk dibandingkan dengan log lain untuk masalah yang saya alami.
Dave Stein
@DaveStein Anda selalu bisa sed/ grepkeluar nama file dari output dari rm -vjika Anda benar-benar khawatir bahwa sesuatu mungkin telah salah dan ingin membuat benar-benar yakin Anda hanya berurusan dengan file yang terhapus. Namun, itu sepertinya tidak perlu dan itu akan agak tidak jelas. Solusi dengan teeakan sangat jelas bagi siapa pun yang akrab dengan shell.
Tim Pote
0

mencoba

find /var/mydirectory/foo -mmin +720 | tee file.txt | xargs rm
Petr Kozelka
sumber
Tidak aman-ruang putih
Kevin
0

Coba lakukan ini:

find /var/mydirectory/foo -mmin +720 > file.txt
rm $(< file.txt)
Gilles Quenot
sumber