Bagaimana cara mencari string di dalam file seperti di Windows tanpa monyet pencarian?

41

Saya menggunakan Ubuntu di VMWare tetapi saya tidak dapat terhubung ke internet karena batasan keamanan.

Saya bertanya-tanya apakah ada cara untuk mencari string melalui terminal dan menemukan baris mana string terletak di dalam file.

pengguna138056
sumber
1
Apakah Anda berbicara tentang grepsesuatu yang lebih maju?
muru
Sudahkah Anda mencarinya terlebih dahulu.
xxbinxx

Jawaban:

56

Ada hampir terlalu banyak opsi untuk dicantumkan

grep -r 'pattern_to_match' directory_to_search

Akan menampilkan nama file dan baris penuh yang sesuai dengan pola.

Harimau kumbang
sumber
18

Yang terbaik yang saya gunakan adalah perintah grep dengan opsi -ri (pencarian Recursive dan case sensitive):

$ grep -r <text_pattern_to_search> directory_or_path_to_search

opsi yang mungkin berguna bagi Anda:

    -i - case insensitive
    -r, --recursive  like --directories=recurse
    -R, --dereference-recursive  likewise, but follow all symlinks
      --include=FILE_PATTERN  search only files that match FILE_PATTERN
      --exclude=FILE_PATTERN  skip files and directories matching FILE_PATTERN
      --exclude-from=FILE   skip files matching any file pattern from FILE
      --exclude-dir=PATTERN  directories that match PATTERN will be skipped.

untuk info mendalam bisa Anda lakukan grep --helpatau man grepdi terminal linux.

Tepuk tangan

xxbinxx
sumber
7


Jika Anda hanya ingin menemukan nomor baris di mana sengatan berada dalam file gunakan ini:

grep -n '/string_To_Find/=' directory/file_Name

Jika Anda ingin menemukan nomor baris dan juga menampilkan nama baris lengkap tempat string berada di baris, gunakan ini:

grep -n 'string_To_Find' directory/file_Name

Dan jika Anda hanya ingin menemukan nama baris lengkap di mana string berada, gunakan ini:

grep -r 'string_To_Find' directory/file_Name
αғsнιη
sumber