Saya memiliki file teks yang memiliki daftar jalur ke berbagai file. Apakah ada perintah yang bisa saya gunakan yang akan mengulangi setiap baris dan menghapus file di jalur yang ditentukan?
command-line
files
daka
sumber
sumber
cat
tidak diharuskan, Anda dapat menggunakanstdin
redirection:< file xargs rm
cat file
" di (ba) sh atau csh.cat
tidak berguna, seperti yang baru saja disebutkan, manfaatkan daristdin
! Lihatlah jawabannya yang diperbaruiInilah salah satu cara yang dapat menangani nama file dengan spasi, garis miring terbalik dan karakter aneh lainnya:
Itu akan membaca setiap baris
list.txt
, simpan sebagai$file
dan jalankanrm
di atasnya. The-r
memastikan bahwa backslashes dibaca secara harfiah (sehingga\t
cocok dengan\
dant
dan tidak TAB). Itu--
memastikan bahwa itu juga berkaitan dengan nama file dimulai dengan-
.Anda juga bisa melakukan ini di Perl:
Yang ini akan membaca setiap nama file ke dalam
%k
hash dan kemudian gunakanunlink
untuk menghapus masing-masing nama.sumber
Melalui python.
Simpan skrip di atas dalam file bernama like
script.py
dan kemudian jalankan skrip dengan menembakkan perintah di bawah ini pada terminal.file
adalah file input tempat jalur file yang sebenarnya ingin Anda hapus disimpan.sumber
Konyol, tapi ini satu:
sumber
Cara lain untuk melakukan ini:
Anda dapat 'menyiapkan' file dengan membuatnya menjadi skrip shell:
Jika nama file Anda mungkin memiliki satu kutipan (
'
), Anda dapat menggunakan versi yang sedikit diperluas ini untuk menghindarinya terlebih dahulu:Dan Anda dapat menjalankan ini dengan memipangnya ke
sh
:sumber
Seperti yang saya pahami, Anda memiliki file teks dengan file dengan path lengkap. Ada dua kemungkinan:
Daftar Anda memiliki nama file yang dipisahkan oleh baris baru, yaitu setiap baris memiliki jalur lengkap ke file. dalam hal ini: inilah jalan keluar sederhana:
Jika daftar Anda memiliki satu atau beberapa baris nama file yang dipisahkan oleh spasi atau tab, maka inilah latihannya:
ini akan mengkonversi semua spasi putih ke baris baru
Ya, ada banyak cara untuk menyelesaikannya, tetapi ini adalah pendekatan yang sangat sederhana.
sumber