grep

Bahasa Inggeris ['grep] AS ['grep]

[Pengiraan] Dapatkan arahan baris sasaran

Perintah grep Linux sintaks

Fungsi: Perintah grep digunakan untuk mencari rentetan yang memenuhi syarat dalam fail.

Sintaks: grep [-abcEFGhHilLnqrsvVwxy][-A<Tunjukkan nombor lajur>][-B<Tunjukkan nombor lajur>][-C<Tunjukkan nombor lajur>][-d<Lakukan&tindakan< Gaya templat>][-f<Fail templat>][--bantuan][Gaya templat][Fail atau direktori...]

Perintah grep Linux contoh

1 Dalam direktori semasa, cari fail yang mengandungi rentetan ujian dalam fail dengan fail perkataan diakhiri, dan cetak baris rentetan itu. Pada masa ini, anda boleh menggunakan arahan berikut:

grep test *file

Hasilnya adalah seperti berikut:

$ grep test test* #查找前缀有“test”的文件包含“test”字符串的文件  
testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行  
testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行  
testfile_2:Linux test #列出testfile_2 文件中包含test字符的行

2. Cari fail yang memenuhi syarat secara rekursif. Sebagai contoh, untuk mencari fail yang mengandungi rentetan "kemas kini" dalam semua fail dalam direktori yang ditentukan /etc/acpi dan subdirektorinya (jika subdirektori wujud), dan mencetak kandungan baris di mana rentetan itu terletak, arahan yang digunakan ialah :

grep -r update /etc/acpi

Hasil keluaran adalah seperti berikut:

$ grep -r update /etc/acpi #以递归的方式查找“etc/acpi”  #下包含“update”的文件  
/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of IO.)  Rather than  
/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of  
IO.) Rather than  
/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update

3. Contoh sebelumnya adalah untuk mencari dan mencetak baris yang memenuhi syarat Parameter "-v" boleh digunakan untuk mencetak kandungan baris yang tidak memenuhi syarat.

Cari baris yang tidak mengandungi ujian dalam fail yang nama failnya mengandungi ujian Pada masa ini, arahan yang digunakan ialah:

grep -v test *test*

Hasilnya adalah seperti berikut:

$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行  
testfile1:helLinux!  
testfile1:Linis a free Unix-type operating system.  
testfile1:Lin  
testfile_1:HELLO LINUX!  
testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.  
testfile_1:THIS IS A LINUX TESTFILE!  
testfile_2:HELLO LINUX!  
testfile_2:Linux is a free unix-type opterating system.
.