Ás veces, os usuarios están ante a necesidade de buscar certa información dentro de calquera ficheiro. Moitas veces, os documentos de configuración ou outros datos volumétricos conteñen un gran número de liñas, polo que é imposible atopar manualmente os datos necesarios. Entón un dos comandos integrados para o sistema operativo Linux chega ao rescate, o que lle permitirá atopar as cordas en poucos segundos.
Use o comando grep en Linux.
En canto ás diferenzas entre as distribucións Linux, neste caso non desempeñan ningún papel, xa que o comando que che interesa grep Por defecto, está dispoñible na maioría dos conxuntos e aplícase exactamente o mesmo. Hoxe queremos discutir non só a acción grep, pero tamén para desmontar os principais argumentos que poden simplificar significativamente o procedemento de busca.
Vexa tamén: Buscamos ficheiros en Linux
Traballos preparatorios
Todas as outras accións realizaranse a través dunha consola estándar, e tamén permite abrir ficheiros só especificando o camiño completo para eles ou se "Terminal" lanzado desde o directorio requirido. Pode descubrir o cartafol principal dun ficheiro e acceder a el na consola como esta:
- Inicia o xestor de ficheiros e navega ata o cartafol desexado.
- Fai clic co botón dereito do rato no ficheiro desexado e selecciona "Propiedades".
- Na pestana "Básico" ler a liña "Cartafol pai".
- Agora diríxete "Terminal" método conveniente, por exemplo, a través do menú ou premendo a combinación de teclas Ctrl + Alt + T.
- Aquí vai ao directorio a través do comando
cd / home / usuario / cartafol
onde usuario - nome de usuario e cartafol - nome do cartafol.
Involucre o equiponome de ficheiro cat +
se queres ver o contido completo. Pódense atopar instrucións detalladas sobre como traballar con este equipo no noso outro artigo na ligazón seguinte.
Ler máis: exemplos de comando cat en Linux
Seguindo os pasos anteriores, pode usar grep, estando no directorio necesario, sen especificar o camiño completo do ficheiro.
Busca de contidos estándar
Antes de proceder á consideración de todos os argumentos dispoñibles, é importante observar a busca habitual por contido. Será útil nestes momentos cando teña que atopar un fósforo sinxelo por valor e mostrar todas as liñas relevantes.
- Na liña de comandos, introduza
grep wordfile file
onde palabra - a información requirida e ficheiro de proba - nome do ficheiro. Ao facer unha busca fóra do cartafol, especifique o camiño completo seguindo o exemplo./ home / usuario / cartafol / nome do ficheiro
. Despois de introducir o comando, prema a tecla Intro. - Resta só coñecer as opcións dispoñibles. As liñas completas móstranse na pantalla e os valores de chave están resaltados en vermello.
- É importante ter en conta o caso das letras, xa que a codificación Linux non está optimizada para a busca sen ter en conta caracteres grandes ou pequenos. Se queres ignorar a definición dun rexistro, entra
grep -i "word" testfile
. - Como podes ver, na seguinte captura de pantalla o resultado cambiou e engadiuse unha nova liña.
Busca con captura de cadea
Ás veces, os usuarios teñen que buscar non só unha coincidencia exacta nas filas, senón tamén para descubrir a información que vén despois delas, por exemplo, ao informar dun erro específico. Entón a solución correcta é aplicar os atributos. Entra na consolagrep -A3 "word" file de proba
para incluír as seguintes tres liñas no resultado despois do partido. Podes escribir-A4
, entón capturaranse catro liñas, non hai restricións.
Se no seu lugar-A
aplica o argumento-B + número de liñas
, como resultado, mostraranse os datos ata o punto de entrada.
Argumento-C
á súa vez, captura liñas ao redor dunha palabra clave.
Debaixo podes ver exemplos de asignación dos argumentos especificados. Teña en conta que é necesario ter en conta o caso e poñer comiñas dobres.
grep -B3 "word" file
grep -C3 "word" file test
Busca palabras clave ao comezo e ao final das liñas
A necesidade de definir unha palabra chave, que está no inicio ou ao final dunha liña, ocorre con maior frecuencia durante o traballo cos ficheiros de configuración, onde cada liña é responsable dun parámetro. Para ver a entrada exacta ao comezo, ten que rexistrarseficheiro de proba grep "^ word"
. Rexístrate ^ só responsable do uso desta opción.
Buscar contido ao final de liñas ocorre aproximadamente co mesmo principio, só entre comiñas debería engadir o carácter $, eo equipo adquirirá este formulario:grep "word $" ficheiro de proba
.
Busca números
Ao buscar os valores desexados, o usuario non sempre ten información sobre a palabra exacta presente na cadea. A continuación, o procedemento de busca pódese facer a través de números, que ás veces simplifica moito a tarefa. Só é necesario usar o comando en cuestión no formulariogrep "[0-7]" file de proba
onde «[0-7]» - intervalo de valores e ficheiro de proba - nome do ficheiro para escanear.
Análise de todos os ficheiros do directorio
O escaneado de todos os obxectos no mesmo cartafol chámase recursivo. O usuario debe aplicar só un argumento, que analiza todos os ficheiros do cartafol e mostra as liñas apropiadas e a súa localización. Deberás ingresargrep -r "palabra" / home / usuario / cartafol
onde / home / usuario / cartafol - camiño ao directorio para a dixitalización.
O lugar onde se almacena o ficheiro mostrarase en azul e se desexa obter as liñas sen esta información, asigne outro argumento para facer a ordegrep -h -r "palabra" + camiño de cartafol
.
Busca de palabras exacta
Ao comezo do artigo xa falamos da busca de palabras habitual. Non obstante, con este método mostraranse combinacións adicionais nos resultados. Por exemplo, atopa a palabra Usuario, pero o comando tamén mostrará Usuario123, ContrasinalUsuarios e outros coincidencias, se hai. Para evitar este resultado, asigne un argumento-w
(grep -w "palabra" + nome do ficheiro ou localización
).
Esta opción execútase aínda que teña que buscar varias palabras clave exactas á vez. Neste caso, entraegrep -w 'word1 | word2' testifile
. Teña en conta que neste caso grep engádese unha carta e, e as citas son sinxelas.
Busca cadeas sen palabra específica.
A utilidade considerada é capaz non só de atopar palabras nos ficheiros, senón tamén mostrar liñas nas que non hai un valor especificado polo usuario. Entón antes de introducir o valor da chave e engádese o ficheiro-v
. Grazas a ela, cando activa o comando, verás só os datos relevantes.
Sintaxe grep reuniu algúns argumentos máis, que poden ser discutidos brevemente:
-I
- amosar só os nomes dos ficheiros que coincidan cos criterios de busca;-s
- desactivar as notificacións sobre erros atopados;-n
- Mostrar o número de liña no ficheiro;-b
- amosar o número de bloque antes da liña.
Nada impide que aplique varios argumentos a un achado, simplemente introdúzaos separados por un espazo, sen esquecerse de ter en conta o caso.
Hoxe desmontamos o equipo en detalle grepdispoñible nas distribucións Linux. É un dos patróns e se usa con frecuencia. Podes ler sobre outras ferramentas populares e a súa sintaxe no noso material separado na seguinte ligazón.
Vexa tamén: Comandos de uso frecuente no terminal Linux