Pertanyaan Bagaimana cara menjalankan perintah pada setiap file dalam direktori yang cocok dengan pola?


Saya mencoba menjalankan perintah pada setiap file di dalam direktori (secara rekursif) yang cocok dengan pola. Saya membutuhkan nama file dari setiap item yang cocok untuk perintah namun. Sejauh ini saya punya:

find . -name '*.jar'

Itu memberi saya semua file yang saya minati. Sekarang, saya harus menjalankan perintah berikut pada semua file itu:

jarsigner -keystore ***** -storepass ****** $FILENAMEHERE

Bagaimana saya mereferensikan masing-masing item dalam output find, untuk perintah?


2
2017-08-19 08:56


asal




Jawaban:


Jika jarsigner hanya mengambil satu nama file pada satu waktu, gunakan juga

find . -iname '*.jar' | xargs -l jarsigner -keystore ***** -storepass ******

atau

find . -iname '*.jar' -exec jarsigner -keystore ***** -storepass ***** {} \;

6
2017-08-19 09:10



Ya, xarg membuat semuanya lebih mudah dibaca! Namun pria itu mengatakan opsi '-l' sudah ditinggalkan: '-L 1' harus melakukan hal yang sama. - cYrus