Carian String Dalam File di Linux

Wednesday, June 23, 2010

Kadang-kadang kita lupa code yang kita buat berada di dalam file yang mana satu. Lebih-lebih lagi bila file code terlalu banyak. Ada pelbagai cara untuk mengatasi masalah ini.

Jika menggunakan Notepad++, Sublime Text, atau apa-apa text editor, kita boleh buat search merentasi file. Jika di windows, pada command prompt, guna findstr.

Dalam ni kita fokus jika menggunakan linux. Jika dalam linux, gunakan arahan grep. Grep ini banyak kegunaan untuk buat carian. Boleh cari menggunakan regular expression, cari bilangan baris code dan macam-macam lagi.

Bagi kes sekadar nak cari perkataan, gunakan arahan grep diikuti perkataan yang hendak dicari dan lokasi senarai file.

Sebagai contoh, kita mahu cari perkataan "pengguna" di dalam semua file 'php' yang berada di /var/www/html/sistembaru/.

# grep --color -R "pengguna" /var/www/html/sistembaru/*.php

Tetapi jika perkataan tersebut menggunakan simbol-simbol yang sedia digunakan oleh regular-expression, kita tidak boleh menggunakan tanda ", kita perlu tukar guna tanda '. Tanda ' akan ignore itu sebagai regular expression.

# grep --color -R 'currencymyr($strn)' /var/www/html/sistembaru/*.php

Hasil dari carian di atas, akan paparkan code panjang lebar walaupun perkataan yang dijumpai itu satu sahaja. Bagi mengatasi masalah ini, kita minta supaya dipaparkan satu baris keputusan sahaja, disertakan dengan pemberitahuan line keberapa perkataan itu dijumpai. Gunakan -n bagi tujuan tersebut.

# grep --color -R -n 'currencymyr($strn)' /var/www/html/sistembaru/*.php

0 comments: