Ini mungkin yang mudah, tapi saya tidak bisa mengetahuinya dan itu cukup banyak tidak dapat dicari. Dalam hierarki folder saya memiliki persis satu file bertipe xyz. Saya ingin menemukan file itu dan membukanya dengan perintah terminal.
find . -name *.xyz
Ini akan mengembalikan file yang saya cari. Sekarang bagaimana cara membukanya secara otomatis, tanpa mengetikkan namanya?
find . -name *xyz | open
Ini tidak berhasil. Dikatakan tidak menemukan perintah terbuka.
Jawaban:
@retracile benar. Anda perlu membukanya dengan 'sesuatu'. Namun, saya lebih suka menggunakan exec lebih dari xargs.
find . -name '*.xyz' -exec cat {} \;
ini akan kembali
cat fileFound.xyz; cat fileFound2.xyx;
dll. Namun, Anda hanya berharap menemukan satu file.Perhatikan bahwa mengubah
\;
ke+
akan kembalicat fileFound.xyz fileFound2.xyz
tergantung pada kasus nanti mungkin pilihan yang disukai.untuk lebih lanjut tentang ini saya akan mengarahkan Anda ke pertanyaan ini
sumber
Perintah yang Anda cari disebut
xdg-open
Coba perintah Anda dengannya:
sumber
Anda perlu tahu program apa yang ingin Anda gunakan untuk membuka file. Jika itu gambar, Anda bisa menggunakan gwenview atau sesuatu.
Mengambil input dan mengubahnya menjadi argumen dilakukan dengan xargs. Dan Anda akan ingin melarikan diri dari wildcard itu ...
Dan untuk menangani spasi dalam nama file ....
sumber
Seperti yang telah ditunjukkan orang lain, pertanyaan Anda tidak cukup spesifik untuk dijawab dengan jelas. Jadi, menebak makna lain yang mungkin: Jika Anda bermaksud menjalankannya sebagai executable, (artinya program Anda adalah executable) beri tahu shell bahwa Anda ingin mengganti output dari perintah find sebagai bagian dari baris perintah :
sumber
Jika Anda ingin membuka semua file yang ditemukan
find
di tab terpisah dalam satu contoh vim, Anda bisa melakukan ini:sumber