Linux: Localizando o arquivo de texto de uma entrada de cadeia de caracteres

6

Eu comecei a usar o Linux e estou praticando o uso de códigos para localizar e fazer as coisas. Eu preciso de código que localiza qualquer arquivo de uma seqüência de entrada.

    
por Jas 18.09.2014 / 14:38

1 resposta

5

Duas opções

  • find . por exemplo. find ~/Documents -name '*finances*'

  • locate (requer índice atualizado com updatedb ). por exemplo. locate finances

para colocar isso em um script, você pode fazer

#!/bin/bash

# pattern="${1}" # first argument to script
# alternatively, ask user
echo "Enter a pattern to be searched for in the current directory"
read pattern    

# search current directory '.'
matches=$(find . -type f -name "${pattern}")

# $matches is now a list of matching files
echo "$matches"

cuidado com shell gobbing , ou seja, um * no padrão é primeiramente expandido pelo bash para corresponder nomes de arquivos no diretório atual.

A multiplicidade de opções para find está documentada: man find .

Bem-vindo ao Linux!

    
por 18.09.2014 / 14:40

Tags