Saya menggunakan xargs untuk menjalankan perintah pada set parameter input, seperti ini:
cat <someinput> | xargs -n 1 -P 5 <somecmd>
File input sangat panjang dan membutuhkan waktu lama untuk dijalankan. Jadi saya hanya menunggu command prompt muncul. Apakah ada cara untuk menampilkan bilah progres untuk jumlah argumen input yang telah selesai?
Saya mencoba menggunakan 'bar' tetapi saya selalu mendapat 'infinite'. Sepertinya xargs membaca seluruh input sebelum menjalankan perintah.
sumber
Anda dapat menggunakan pv:
Dengan ini Anda akan tahu di mana pembacaan someimput berada, sehingga Anda akan tahu kira-kira di mana perawatan someimput berada.
sumber
FIND=( find "$DIR" -type f ) && ${FIND[@]} -print0 | pv -0lps $(${FIND[@]} | wc -l) | xargs -0 -I {} -P 5 <somecmd>
Jika Anda hanya mencari indikasi umum tentang kemajuan, metode paling sederhana adalah dengan hanya mengulang sebelum melakukan perintah yang ingin Anda lakukan.
Contoh:
cat <someinput> | xargs -I{} sh -c 'echo {}; <somecmd>;'
-I{}
set{}
ke string saat ini sedang diprosessh -c
akan memungkinkan Anda untuk menjalankan beberapa perintah (catatan: semi-kolon setelah setiap perintah diperlukan termasuk yang terakhir .sumber