Jika Anda menginginkan hasil yang cepat, gunakan Spotlight. Juga jika Anda ingin menemukan file yang tidak selalu menyimpan teks secara langsung di dalam file seperti PDF atau ODF.
Joey
Saran yang bagus, tetapi dalam kasus saya, saya tidak yakin file diindeks karena ada pada driver jaringan. Dan mereka juga file xml milik program tertentu.
Saya akan menyarankan man grepuntuk menemukan semua opsi bagus grep
Ludovic Kuty
Ini mencantumkan setiap file yang ada di jalur dan menambahkan: No such file or directory Saya mencoba untuk mendapatkan daftar kejadian teks saja. Bagaimana kita bisa mendapatkan daftar itu?
Anda dapat memilih salah satu di bawah ini tergantung pada selera dan kebutuhan Anda. Andaikan Anda perlu mencari file yang mengandung teks - "async", secara rekursif di direktori saat ini, Anda dapat melakukannya dengan salah satu cara seperti di bawah ini:
Jawaban Ignacio luar biasa dan membantu saya menemukan file yang berisi teks tertentu. Satu-satunya masalah yang saya hadapi adalah ketika menjalankan perintah ini semua file akan terdaftar, termasuk satu di mana pola tidak muncul.
No such file or directory Inilah yang saya lihat di samping file yang tidak mengandung pola.
Jika sebaliknya Anda menambah -sperintah, seperti pada
grep -lr "text pattern" ./ -s:; grep -lr "text pattern" [PATH DIRECTORY] -sdigunakan, itu hanya akan menunjukkan kepada Anda file mana yang berisi pola.
Demikian pula jika grep -nr "text pattern" ./ -s; grep -nr "text pattern" [PATH OF DIRECTORY] -sPerintah ini digunakan untuk mencetak file plus nomor baris, dan terjadinya pola.
Cara lain untuk menghindari kesalahan-kesalahan Tidak ada kesalahan file seperti itu , adalah untuk pipa stderr ke null. grep ... 2>/dev/null. Solusi ini berfungsi untuk sebagian besar program, karena mereka melaporkan pesan kesalahan pada aliran stderr, bukan stdout. Saya telah menggunakan solusi ini berkali-kali dengan find, karena akan mengatakan Izin ditolak untuk banyak file.
jpaugh
(1) Jika Anda mendapatkan No such file or directorypesan untuk file yang ada, apakah Anda melakukan sesuatu yang salah, atau sistem Anda rusak. (2) Apa yang [PATH OF PARENT]harus dilakukan dengan apa pun?
G-Man
@ G-Man Saya mengedit jawaban untuk menunjukkan [PATH OF DIRECTORY]hanya memetikan seseorang yang tidak dikenal ingin tahu mengapa saya menaruh./
CP3O
@ G-Man Saya menggunakan mac bukan Ubuntu, tidak yakin bagaimana sistem saya akan rusak, saya belum melakukan apa pun di dalamnya.
Jawaban:
sumber
man grep
untuk menemukan semua opsi bagus grepNo such file or directory
Saya mencoba untuk mendapatkan daftar kejadian teks saja. Bagaimana kita bisa mendapatkan daftar itu?grep -lr "text pattern" ./ -s
;grep -lr "text pattern" [PATH OF PARENT] -s
gunakan lampu sorot
jangan lupa untuk melihat:
sumber
brew install ack ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
sumber
Anda dapat memilih salah satu di bawah ini tergantung pada selera dan kebutuhan Anda. Andaikan Anda perlu mencari file yang mengandung teks - "async", secara rekursif di direktori saat ini, Anda dapat melakukannya dengan salah satu cara seperti di bawah ini:
Menggunakan grep
Menggunakan ack
sumber
Jawaban Ignacio luar biasa dan membantu saya menemukan file yang berisi teks tertentu. Satu-satunya masalah yang saya hadapi adalah ketika menjalankan perintah ini semua file akan terdaftar, termasuk satu di mana pola tidak muncul.
No such file or directory
Inilah yang saya lihat di samping file yang tidak mengandung pola.Jika sebaliknya Anda menambah
-s
perintah, seperti padagrep -lr "text pattern" ./ -s
:;grep -lr "text pattern" [PATH DIRECTORY] -s
digunakan, itu hanya akan menunjukkan kepada Anda file mana yang berisi pola.Demikian pula jika
grep -nr "text pattern" ./ -s
;grep -nr "text pattern" [PATH OF DIRECTORY] -s
Perintah ini digunakan untuk mencetak file plus nomor baris, dan terjadinya pola.Harap perbaiki saya jika pemahaman saya salah.
Referensi: Bagaimana saya bisa membuat grep tidak mencetak kesalahan 'Tidak ada file atau direktori'?
sumber
grep ... 2>/dev/null
. Solusi ini berfungsi untuk sebagian besar program, karena mereka melaporkan pesan kesalahan pada aliran stderr, bukan stdout. Saya telah menggunakan solusi ini berkali-kali denganfind
, karena akan mengatakan Izin ditolak untuk banyak file.No such file or directory
pesan untuk file yang ada, apakah Anda melakukan sesuatu yang salah, atau sistem Anda rusak. (2) Apa yang[PATH OF PARENT]
harus dilakukan dengan apa pun?[PATH OF DIRECTORY]
hanya memetikan seseorang yang tidak dikenal ingin tahu mengapa saya menaruh./