/tmp/filesaya
first line text
wanted text
other text
perintah
$ grep -n "wanted text" /tmp/myfile | awk -F ":" '{print $1}'
2
-n
beralih ke grep menambahkan setiap baris yang cocok dengan nomor baris (diikuti dengan :
), sedangkan perintah kedua menggunakan titik dua sebagai pemisah kolom (-F ":"
) dan mencetak kolom pertama dari baris mana pun. Hasil akhirnya adalah daftar nomor baris dengan kecocokan.
Selain grep
, Anda juga dapat menggunakan utilitas lain seperti awk
atau sed
Berikut beberapa contohnya. Katakanlah Anda ingin mencari string is
dalam file bernama GPL
.
File sampel Anda
[email protected]:~$ cat -n GPL
1 The GNU General Public License is a free, copyleft license for
2 The licenses for most software and other practical works are designed
3 the GNU General Public License is intended to guarantee your freedom to
4 GNU General Public License for most of our software;
[email protected]:~$
[email protected]:~$ grep is GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
[email protected]:~$
[email protected]:~$ awk /is/ GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
[email protected]:~$
[email protected]:~$ sed -n '/is/p' GPL
The GNU General Public License is a free, copyleft license for
the GNU General Public License is intended to guarantee your freedom to
[email protected]:~$
Semoga ini membantu
Keluarga perintah grep (termasuk egrep, fgrep) adalah solusi biasa untuk ini.
$ grep pattern filename
Jika Anda mencari kode sumber, maka ack mungkin merupakan taruhan yang lebih baik. Itu akan mencari subdirektori secara otomatis dan menghindari file yang biasanya tidak Anda cari (objek, direktori SCM, dll.)
Cara biasa untuk melakukannya adalah dengan grep
, yang menggunakan pola regex untuk mencocokkan garis:
grep 'pattern' file
Setiap baris yang cocok dengan pola akan ditampilkan. Jika Anda ingin mencari string tetap saja, gunakan grep -F 'pattern' file
. fgrep
adalah singkatan dari grep -F
.
Anda juga dapat menggunakan sed
:
sed -n '/pattern/p' file
Atau awk
:
awk '/pattern/' file