Wéi fannt Dir e spezifesche String oder Wuert a Dateien a Verzeichnungen


Wëllt Dir all Dateie fannen déi e bestëmmt Wuert oder String vun Text op Ärem ganze Linux System oder engem bestëmmte Verzeechnes enthalen. Dësen Artikel wäert Iech guidéieren wéi Dir dat maacht, Dir léiert wéi Dir rekursiv duerch Verzeichnungen gräift fir all Dateien ze fannen an ze lëschten déi eng bestëmmte String vum Text enthalen.

En einfache Wee fir dëst erauszefannen ass duerch grep Muster Sichinstrument ze benotzen, ass e mächtegt, effizient, zouverlässeg a populärste Kommandozeil-Utility fir Musteren a Wierder aus Dateien oder Verzeichnisser op Unix-ähnleche Systemer ze fannen.

De Kommando hei drënner wäert all Dateie mat enger Zeil mam Text \check_root oplëschten andeems Dir rekursiv an aggressiv am ~/bin Verzeechnes sicht.

$ grep -Rw ~/bin/ -e 'check_root'

Wou d'Optioun -R dem grep seet fir all Dateien ënner all Verzeechnes ze liesen, rekursiv, no symbolesche Linken nëmmen wann se op der Kommandozeil sinn an d'Optioun -w instruéiert et nëmmen déi Zeilen ze wielen déi Mätscher enthalen déi Form. ganz Wierder, an -e gëtt benotzt fir de String (Muster) ze spezifizéieren fir ze sichen.

Dir sollt de sudo Kommando benotzen wann Dir bestëmmte Verzeichnisser oder Dateien sicht déi Root Permissiounen erfuerderen (ausser Dir verwalt Äre System mam Root Account).

 
$ sudo grep -Rw / -e 'check_root'	

Fir Fall Ënnerscheeder ze ignoréieren benotzt d'Optioun -i wéi gewisen:

$ grep -Riw ~/bin/ -e 'check_root'

Wann Dir d'exakt Linn wësse wëllt wou d'String vum Text existéiert, gitt d'Optioun -n.

$ grep -Rinw ~/bin/ -e 'check_root'

Unzehuelen datt et verschidden Aarte vu Dateien an engem Verzeichnis sinn, an deem Dir wëllt sichen, kënnt Dir och d'Aart vun de Dateien spezifizéieren, déi zum Beispill gesicht ginn, duerch hir Extensioun mat der --include Optioun.

Dëst Beispill instruéiert grep nëmmen duerch all .sh Dateien ze kucken.

$ grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

Zousätzlech ass et méiglech fir méi wéi ee Muster ze sichen, andeems Dir de folgende Kommando benotzt.

$ grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

Dat ass et! Wann Dir en anere Kommandozeil Trick kennt fir String oder Wuert a Dateien ze fannen, deelt mat eis oder stellt Froen iwwer dëst Thema, benotzt de Kommentarformular hei ënnen.