Ръководство за начинаещи

Как да намеря низ в файл на Linux

Как да намеря низ в файл на Linux

Понякога може да се наложи да търсите определена дума или низ във файл. За да направите това, почти всеки текстов редактор има някаква реализация на GUI, която да ви помогне. Но за потребителите на Linux е много по-продуктивно и удобно да извършват тези търсения от командния ред.

Всъщност Linux има мощна и удобна помощна програма за команден ред - командата grep за тази цел. Използвайки това, можете да търсите определен низ не само в един файл, но множество файлове за по-изчерпателно търсене.

Преди обаче да можете да използвате командата grep, първо трябва да знаете как работи и нейните синтаксиси. И така, за да ви помогнем, ние съставихме подробно ръководство за използване на командата grep, за да ви помогне да намерите низове във файл на Linux. Не само това, но ще ви покажем и как да търсите низове във файлове чрез текстовия редактор на командния ред и текстовия редактор на GUI.

Забележка: За този урок създадохме два демонстрационни текстови файла - демофайл.txt и demofile02.текст. Ще използваме командата grep, за да намерим низове в тези файлове. Ето поглед към съдържанието на двата файла, за да знаете как работят командите.

Съдържание на демофайла.текст:

Това е демонстрационен файл, който съм създал за демонстрационни цели. Това съдържа куп думи за създаване на изречения, които най-накрая завършват с точка. Това е за примера grep.

Съдържание на демофайла 02.текст:

Това е друг демонстрационен файл, който ще използвам за тази демонстрация. Този е подобен на последния, тъй като съдържа три реда с някои думи. Този втори файл ще ви помогне да предоставите някои разнообразни примери.

Намиране на низове във файл чрез командния ред (метод GREP)

GREP е съкращение от Global Regular Expression Print. Той е „Глобален“, защото може да търси цялата ви Linux система. „Редовен израз“ е това, което наричаме шаблон за търсене на текст, който ще използваме с командата. И „Печат“ означава, че ще отпечата резултатите от търсенето веднага щом намери съвпадение въз основа на предоставения регулярен израз.

Сега, когато имате представа какво представлява командата grep, нека видим как можем да я използваме. Ето синтаксиса за използване на командата grep за намиране на низ във файл:

$ grep низ име на файл

Ще трябва да замените израза „низ“ с „регулярния израз“, който искате да използвате, и „името на файла“ с името на файла, в който искате да търсите низа.

# 1. Използване на GREP за намиране на низ в един файл

Така че, да речем, ако искате да потърсите думата „демонстрация“ във файла „демофайл.txt, “ще трябва да използвате тази команда:

$ grep демонстрационен демонстрационен файл.текст

Което дава изхода:

Използване на GREP за намиране на низ в един файл

Както можете да видите, командата извлича целия ред, съдържащ предоставения низ. Ако посоченият низ се среща в няколко реда, той ще ги отпечата. Нека да видим дали работи, като потърсим низа „Това“ в „демофайла.txt ”файл.

$ grep Този демофайл.текст

И изходът е:

grep е чувствителен към малки и големи букви

Обърнете внимание как първо сте използвали низа „това“ и той не е отпечатал нищо. Едва когато въведете „Това“, получавате съвпадение. Като такива, трябва да запомните, че командата grep е чувствителна към малки и големи букви.

За да игнорирате случая, вместо това ще трябва да въведете тази команда:

$ grep -i този демофайл.текст

Как да игнорирам регистъра в командата grep

Както можете да видите сега, въпреки че предоставеният низ е „това“, командата съвпада с „Това“ и отпечатва този отговор.

# 2. Използване на GREP за намиране на един и същ низ в множество файлове

За да търсите в множество файлове за предоставения низ, всичко, което трябва да направите, е да добавите командата с всички имена на файлове.

Ето един пример. Тук търсим низа „думи“ във файловете „демофайл.txt “и„ demofile02.текст":

$ grep думи демофайл.txt demofile02.текст

И изходът е:

Използване на GREP за намиране на един и същ низ в множество файлове

Както можете да видите, командата grep не само ще ви покаже съответстващия резултат, но и удобно ще маркира от кой файл е.

# 3. Използване на GREP за намиране на множество низове в множество файлове

Можете също да използвате grep, за да намерите множество низове в единични или множество файлове. Това е синтаксисът, който ще трябва да използвате:

$ grep -E 'pattern1 | pattern2 | pattern3 | ...' filename1 filename2 filename3 .. 

Опцията -E, която въведохме, третира следния модел като разширен регулярен израз, който ни позволява да търсим множество низове.

Сега нека използваме наученото за търсене на низовете „файл“ и „думи“ в двата файла: „демофайл.txt “и„ demofile02.текст":

$ grep -E 'файл | дума' демофайл.txt demofile02.текст

И изходът е:

Използване на GREP за намиране на множество низове в множество файлове

# 4. Съвети и трикове за използване на командата GREP за намиране на низове

Въпреки цялостната си простота, командата grep е изключително мощна. Ето няколко начина, по които можете да използвате командата grep за разширено търсене на низове.

Например, знаете ли, че можете да използвате командата grep с заместващи символи? Нека разгледаме тази команда:

$ grep word демофайл *

Което дава изхода:

grep и заместващи символи

Както можете да видите, командата е потърсила и сега показва резултатите за двата файла „демофайл.txt “и„ demofile02.текст". Това е така, защото използвахме заместващия знак със звездичка (*), използван за представяне на едно или много повторения на произволен знак.

За повече информация относно различните видове заместващи символи и как да ги използвате, можете да разгледате това четене: заместващи знаци в Linux, обяснено с 10 примера.

Продължавайки, командата grep също поддържа множество опции за команди. Вече видяхме две от тях:

Има много други опции за команди grep като:

Всичко, което обсъждахме досега, трябва да е много, за да ви помогне да търсите низове във файлове. Ако обаче искате да овладеете командата GREP, препоръчваме ви да разгледате тези две статии:

Намиране на низове във файл чрез командния ред (Използване на текстови редактори на командния ред)

Командата grep е мощен инструмент, който може да ви помогне да извършите разширени търсения, за да съчетаете низове с няколко файла и директории на вашия компютър с Linux. Ако обаче файлът вече е отворен в текстов редактор на командния ред, тогава няма нужда да излизате от файловия редактор и да използвате командата grep.

Всъщност повечето текстови редактори на командния ред вече се предлагат с вградена функционалност за търсене.

Сега е извън обхвата на този урок да обхване всеки отделен текстов редактор на командния ред и как да намерите низове във файл, отворен в този текстов редактор. Като такива ще разгледаме двата най-популярни текстови редактора на командния ред, които сте длъжни да използвате:

Как да намерите текстов низ в nano?

Да предположим, че файлът ви е отворен в нано текстовия редактор. В този случай всичко, което трябва да направите, е да натиснете Ctrl + W и ще намерите нов ред за въвеждане на низа.

След като приключите, натиснете Enter и курсорът ще се приземи върху първия символ на първото появяване на търсения низ. Можете да продължите да натискате Enter, за да преминете към другите екземпляри на низове, ако има такива.

Как да намерите текстов низ в nano

Как да намерите текстов низ в vim?

Ако използвате текстовия редактор на vim, можете да въведете: / последвано от низа, който искате да търсите, и след това да натиснете Enter. Подобно на преди, той ще постави курсора при първото появяване на търсения низ. Тук също можете да продължите да натискате Enter, за да преминете към другите екземпляри на низа.

Как да намерите текстов низ в vim

Намиране на низове във файл чрез командния ред (GUI метод)

Има дори GUI метод за намиране на низове във файл. По същество тя е подобна на функцията „намиране и замяна“, която виждате в Microsoft Word; обаче ще варира в зависимост от това кой текстов редактор на GUI използвате.

Сега, както знаете, има стотици текстови редактори и не е практично да обхващате всички тук. Всички те обаче функционират по подобен начин, така че няма да имате никакъв проблем да работите с други, след като разберете как работи един от тях.

За този урок ще използваме текстовия редактор по подразбиране, който идва с Ubuntu, наречен - „Текстов редактор.”

Как да намеря низ с помощта на текстови редактори на GUI

Както можете да видите от изображението, ние отворихме демофайла.txt в редактора. Сега кликваме върху падащото меню, което разкрива опции за „Намери“ и „Намери и замени“, които можем да използваме, за да намерим низове в отворения файл.

Обобщавайки

Така че това ни води до края на този кратък урок за намиране на низове във файл на Linux. Надяваме се, че това ще ви бъде полезно и че ви е помогнало да станете по-продуктивни с това как търсите конкретни низове във вашата Linux система.

Ако имате някакви въпроси, оставете ни коментар и ние непременно ще ви помогнем с вашите запитвания.

Ако започвате с Linux, не забравяйте да разгледате нашата серия Learn Linux. Той е пълен с много страхотни уроци, ръководства и ръководства, предназначени за начинаещи и по-опитни потребители, за да ви помогнат да станете истински потребител на Linux.

Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...
Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...
Най-добрите приложения за картографиране на геймпад за Linux
Ако искате да играете игри на Linux с геймпад вместо типична система за въвеждане на клавиатура и мишка, има някои полезни приложения за вас. Много ко...