Gunakan find trunk/messages/ -name "*.po" -exec basename {} .po \; 
Contoh dan penjelasan:
Buat beberapa file percobaan:
$ touch test1.po  
$ touch test2.po  
$ find . -name "*.po" -print
./test1.po  
./test2.po
Oke, file ditemukan, termasuk jalur.
 Untuk setiap hasil, jalankan basename , dan hapus bagian .po dari nama
$ find . -name "*.po" -exec basename \{} .po \;  
test1  
test2
 Anda dapat menggunakan -execdir parameter yang akan mencetak file tanpa path, misalnya:
find . -name "*.po" -execdir echo {} ';'
File tanpa ekstensi:
find . -name "*.txt" -execdir basename {} .po ';'
Lihat:Mengapa perintah find -execdir GNU berperilaku berbeda dari find BSD?
Berdasarkan perintah yang saya temukan di sini:http://www.unixcl.com/2009/08/remove-path-from-find-result-in-bash.html
 Anda dapat melakukan ini menggunakan sed (yang dieksekusi lebih cepat untuk saya, daripada basename pendekatan):
find trunk/messages/ -name "*.po" | sed 's!.*/!!' | sed 's!.po!!'