GNU/Linux >> Belajar Linux >  >> Linux

Cara menampilkan hasil grep dengan path lengkap atau nama file

Dengan asumsi Anda memiliki dua file log di:

  • C:/temp/my.log
  • C:/temp/alsoMy.log

cd ke C:dan gunakan:

grep -r somethingtosearch temp/*.log

Ini akan memberi Anda daftar seperti:

temp/my.log:somethingtosearch
temp/alsoMy.log:somethingtosearch1
temp/alsoMy.log:somethingtosearch2

Saya jatuh di sini ketika saya sedang mencari masalah yang sama persis dan mungkin itu bisa membantu orang lain.

Saya pikir solusi sebenarnya adalah:

cat *.log | grep -H somethingtosearch

Jika Anda ingin melihat jalur lengkapnya, saya akan merekomendasikan ke cd ke direktori teratas (dari drive Anda jika menggunakan windows)

cd C:\
grep -r somethingtosearch C:\Users\Ozzesh\temp

Atau di Linux:

cd /
grep -r somethingtosearch ~/temp

jika Anda benar-benar menolak pemfilteran nama file Anda (*.log) DAN Anda ingin recursive (file tidak semuanya berada di direktori yang sama), menggabungkan find dan grep adalah cara yang paling fleksibel:

cd /
find ~/temp -iname '*.log' -type f -exec grep somethingtosearch '{}' \;

Linux
  1. Grep Bagaimana Cara Menekan Tampilan File yang Tidak Cocok?

  2. Bagaimana Cara Menampilkan Path Lengkap File Atau Direktori Di Terminal?

  3. Cara Mengosongkan File Log di Linux

  1. Bagaimana cara 'menangkap' aliran berkelanjutan?

  2. Bagaimana cara membuat file di Linux dari jendela terminal?

  3. Cara grep \n dalam file

  1. Bagaimana cara menghapus file dengan nama ini di linux:-]???????q

  2. Bagaimana cara mengisi file dengan FF menggunakan dd?

  3. Cara mencari file dengan name=php.ini di linux menggunakan perintah grep