Paano Makahanap ng Teksto sa Mga File sa Linux

How Find Text Files Linux



Para sa isang administrator ng system, ang pagtatrabaho sa mga file ng teksto ay isang pangkaraniwang kababalaghan. Marahil ay kailangang makahanap ng isang tukoy na seksyon mula sa mga tambak na mga file ng log para sa pag-troubleshoot ng isang bagay? O, kailangang hanapin ang dokumento na naglalaman ng mahahalagang impormasyon nang mabilis?

Sa kaso ng Linux, maraming pamamaraan upang makahanap ng mga teksto sa mga file. Posibleng gumamit ng parehong built-in na tool at mga app ng 3rd-party. Suriin kung paano makahanap ng mga teksto sa mga file sa Linux.







Paghanap ng teksto sa mga file

Nakasalalay sa bilang ng mga file na kailangan mong gawin upang maghanap, mayroong dalawang paraan upang maisagawa ang paghahanap sa teksto: awtomatiko o manu-manong. Kung kailangan mong gumana sa isang pares ng mga text file, mas angkop ang manu-manong paghahanap. Gayunpaman, kung may daan-daang mga file ng teksto, kung gayon ang awtomatikong paghahanap ay ang pinaka mahusay.



Para sa awtomatikong paghahanap, gagamit kami ng grep. Ang Grep ay paunang naka-install sa anumang distro ng Linux. Tulad ng para sa manu-manong paghahanap, ang anumang modernong editor ng teksto ang gagawa ng trabaho.



Maghanap ng teksto sa mga file gamit ang grep

Sa Linux, ang grep ay ang default na tool para sa paghahanap ng mga teksto. Ang pangalan nito ay nagmula sa ed command g / re / p na kumakatawan sa pandaigdigang paghahanap para sa isang regular na expression at mga linya ng pagtutugma ng pag-print. Magagamit ito sa anumang modernong distro ng Linux.





Ang Grep ay isang tool na command-line. Ang istraktura ng utos nito ay ang mga sumusunod.

$mahigpit na pagkakahawak <pagpipilian> <regular_expression> <file_path>

Tulad ng iminumungkahi ng pangalan ng grep, ang pattern na hahanapin ay inilarawan gamit ang isang regular na expression. Ang regular na expression ay isang espesyal na uri ng string na naglalarawan sa isang pattern upang tumugma, hanapin, at pamahalaan. Upang matuto nang higit pa tungkol sa grep at regular na pagpapahayag, tingnan gamit ang grep at egrep na may regular na pagpapahayag .



Para sa mga layunin ng pagpapakita, kumuha ng isang sample na file ng teksto. Sa halimbawang ito, i-download ang GNU General Public Lisensya v3.0 text file .

Pangunahing paghahanap

Ang pangunahing paraan ng paggamit ng grep ay upang maghanap para sa isang pangunahing string.

Tingnan ang sumusunod na utos ng grep. Hahanapin nito ang salitang GNU sa text file.

$mahigpit na pagkakahawak 'GNU'lpg-3.0.txt

Upang maipakita ang numero ng linya, gamitin ang -n flag.

$mahigpit na pagkakahawak -nGNU gpl-3.0.txt

Upang magsagawa ng isang case-insensitive na paghahanap gamit ang grep, gamitin ang flag ng -i.

$mahigpit na pagkakahawak -nignu gpl-3.0.txt

Maaaring hindi mo nais na makita ang mga tugma sa paghahanap ngunit ang pangalan lamang ng file kung saan nangyari ang tugma sa ilang mga sitwasyon. Upang mai-print lamang ang filename, gamitin ang -l flag. Dito, ang asterisk ay nangangahulugang gamitin ang lahat ng mga file ng teksto sa kasalukuyang direktoryo.

$mahigpit na pagkakahawak -anggnu*

Maaari din nating mai-tubo ang output ng iba pang mga utos sa grep.

$pusalpg-3.0.txt| mahigpit na pagkakahawak -nGNU

Regular na pagpapahayag

Nag-aalok ang Regex ng isang matalinong paraan ng pag-aayos sa paghahanap. Mayroon itong sariling mga patakaran. Gayunpaman, iba`t ibang mga application at wika ng programa ang nagpapatupad ng regular na expression nang magkakaiba. Narito ang isang pares ng mga halimbawa na maaari mong gamitin sa grep.

Upang tukuyin na ang string ay matatagpuan sa pagsisimula ng isang linya, gamitin ang simbolong caret (^).

$mahigpit na pagkakahawak -n^ GNU gpl-3.0.txt

Upang tukuyin na ang string ay matatagpuan sa dulo ng isang linya, gamitin ang dolyar na tanda ($).

$mahigpit na pagkakahawak -nhanggang $ gpl-3.0.txt

Upang ilarawan na maaaring mayroong anumang character sa isang tiyak na lokasyon ng pattern, gamitin ang character na period (.). Halimbawa, ang expression na G.U ay may bisa kung mayroong anumang character sa pagitan ng G at U.

$mahigpit na pagkakahawak -nG.U gpl-3.0.txt

Upang ilarawan na maaaring mayroong isang subset ng mga character sa isang partikular na lokasyon ng pattern, gamitin ang mga braket ([]). Halimbawa, sinasabi ng ekspresyong t [wo] o na ang tugma ay wasto para sa dalawa at masyadong lamang.

$mahigpit na pagkakahawak -nt[Kung saan]o gpl-3.0.txt

Pinalawak na regular na expression

Tulad ng ipinahihiwatig ng pangalan, ang isang pinalawig na regular na expression ay maaaring gumawa ng mas kumplikadong mga bagay kaysa sa pangunahing mga regular na expression. Upang magamit ang pinalawig na regular na expression na may grep, kailangan mong gamitin ang -E flag.

$mahigpit na pagkakahawak -nanganak <pinalawak na_regex> <file>

Upang maghanap para sa dalawang magkakaibang mga string, gamitin ang O operator (|).

$mahigpit na pagkakahawak -nanganakGNU|pangkalahatan|Lisensya gpl-3.0.txt

Paghanap ng teksto sa mga file

Ngayon ay dumating ang pangunahing bahagi. Sa halip na manu-manong sabihin sa grep ang file upang maisagawa ang paghahanap, awtomatiko itong maaaring gawin. Sa sumusunod na utos, gagamitin ng grep ang lahat ng mga magagamit na mga file ng teksto sa kasalukuyang direktoryo para sa paghahanap ng pattern.

$mahigpit na pagkakahawak <regex> *

Kung nais mong mag-grep upang maisagawa ang paghahanap sa ibang direktoryo, kailangan mong tukuyin ang lokasyon.

$mahigpit na pagkakahawak <regex> <direktoryo_path>

Kung may mga folder, hindi maia-explore ng grep ang mga ito bilang default. Upang sabihin sa grep na maghanap nang recursively, gamitin ang -R flag.

$mahigpit na pagkakahawak -nR <regex> <direktoryo_path>

Grip GUI

Kung mas gusto mong gumana sa GUI ngunit nais mo pa ring tangkilikin ang mga tampok ng grep, pagkatapos ay suriin ang searchmonkey. Ito ay isang front-end na solusyon para sa grep. Magagamit ang package sa halos lahat ng mga pangunahing distrito ng Linux.

Maghanap ng teksto sa mga file gamit ang nano

Ang GNU Nano ay isang simple at makapangyarihang text editor na may kasamang anumang distro ng Linux. Mayroon itong mga built-in na tampok upang maghanap ng teksto sa isang text file.

Tandaan na sa pamamaraang ito, kailangan mong buksan ang file ng teksto, at manu-manong maghanap. Ito ay magagawa kung mayroon lamang kaunting mga file ng teksto upang gumana. Kung mayroong higit pa, kung gayon ang paggamit ng grep ay ang pinakamainam na pagpipilian.

Buksan ang file ng teksto sa nano.

$nano <file_path>

Upang maghanap para sa isang tugma sa string, pindutin ang Ctrl + W. Pagkatapos i-type ang string upang maghanap, pindutin ang Enter.

Maghanap ng teksto sa mga file gamit ang Vim

Si Vim ay isang kilalang at sikat na editor ng teksto. Ito ay ang katumbas na linya ng utos ng isang modernong text editor. Ang Vim ay mayroong maraming mga advanced na tampok tulad ng mga plugin, macros, awtomatikong pagkumpleto, mga filter, atbp.

Katulad ng nano, gumagana ang Vim sa isang solong file nang paisa-isa. Kung mayroon kang maraming mga file ng teksto, ang paggamit ng grep ay ang pinakamainam na paraan upang pumunta.

Upang maghanap sa isang text file, una, buksan ito sa Vim.

$dumating ako <file_path>

Ipasok ang sumusunod na utos ng Vim at pindutin ang Enter.

$:/<paghahanap_term>

Maghanap ng teksto sa mga file gamit ang GNOME Text Editor

Ang GNOME Text Editor ay ang text editor na kasama ng GNOME desktop. Ito ay isang simplistic text editor na may lahat ng mga pangunahing tampok na nais mong asahan. Ito ay isang magandang kahalili sa mga editor ng teksto ng linya ng command.

Katulad ng nano at vim, ang parehong pag-iingat ay nalalapat sa pamamaraang ito. Kung ang bilang ng mga file ng teksto ay malaki, mas mabuti kang manatili sa grep.

Buksan ang text file sa Text Editor. Pindutin ang Ctrl + F upang ilabas ang search bar.

Maghanap ng teksto sa mga file gamit ang VS Code

Ang Visual Studio Code ay isang malakas na editor ng teksto na may toneladang mga tampok. Na-optimize ito para magamit ang mga programmer na parang isang ganap na IDE. Magagamit ito sa halos lahat ng pangunahing mga distrito ng Linux.

I-install ang snap package ng Visual Studio Code.

$sudoiglapi-installcode--classic

Buksan ang file ng teksto sa VS Code. Pindutin ang Ctrl + F upang magsimulang maghanap.

Pangwakas na saloobin

Mayroong maraming mga paraan upang maghanap ng teksto sa mga file. Ito ay isang madaling gawain upang makabisado. Mahigpit na inirerekumenda na master ang utos ng grep sapagkat nag-aalok ito ng pinakamahalagang halaga sa mga tuntunin ng kahusayan at kadalian ng paggamit.

Kung mas gusto mo ang GUI, pagkatapos ay maraming mga editor ng teksto na mapagpipilian. Ang anumang modernong editor ng teksto ay magbibigay ng pagpipilian sa paghahanap ng teksto.

Maligayang computing!