Uso da função perl glob

Uso da função perl glob
“A função perl glob () é usada principalmente para recuperar todo o conteúdo ou o conteúdo específico de um diretório. O padrão de expressão regular pode ser usado com esta função para corresponder aos arquivos e pastas específicos de um diretório. Diferentes símbolos são usados ​​para definir o padrão que será usado para recuperar o conteúdo do diretório atual ou do diretório específico. Os usos da função glob () sem padrão e com o padrão foram mostrados neste tutorial.”

Sintaxe
Diferentes sintaxes da função Glob () são mencionadas abaixo.

  1. glob (diretório_path)
    A sintaxe do Glob acima é usada para pesquisar o conteúdo de um caminho de diretório específico que será mencionado no argumento.
  2. glob expr;
    A sintaxe do Glob acima é usada para pesquisar o conteúdo do diretório com base no padrão de correspondência.

A função glob () retorna a lista de arquivos e pastas do diretório específico.

Metacharacters

Os seguintes metacaracters são comumente usados ​​para escrever padrões de expressão regular em Perl

Personagem Descrição
. É usado para combinar com qualquer personagem sem uma nova linha ('\ n').
* É usado para corresponder a qualquer caractere zero ou mais vezes.
? É usado para combinar com qualquer personagem por zero ou uma vez.
() É usado para agrupar.
[…] É usado para definir a classe de personagem.
~ É usado para combinar com o diretório inicial.
É usado para combinar com as palavras separadas por vírgula fechadas pelos segundos colchetes.

Exemplos diferentes da função glob () foram mostrados abaixo.

Exemplo 1: recuperar todos os arquivos e pastas de um diretório específico

Crie um arquivo PERL com o seguinte código para saber o uso da função glob () para pesquisar todos os arquivos e pastas do diretório específico. De acordo com o caminho do diretório definido no código, todos os arquivos e pastas do caminho, "/home/fahmida/*", serão armazenados em uma matriz se o caminho existir; Caso contrário, uma mensagem de erro aparecerá. Em seguida, o conteúdo da matriz será impresso.

#Retive o conteúdo de um diretório específico
@content = glob ('/home/fahmida/*');
#Print O valor retornado pela função glob ()
imprimir "@Content \ n";

Saída:
A lista de todos os arquivos e pastas do diretório, "Home/Fahmida/", foi exibida na saída.

Exemplo 2: Recupere os arquivos específicos de um diretório específico

Crie um arquivo PERL com o seguinte código para saber o uso da função glob () para pesquisar a lista de arquivos específicos em um diretório específico. De acordo com o caminho do diretório definido no código, todos os arquivos Perl do caminho, "/home/fahmida/*", serão armazenados em uma matriz se o caminho existir; Caso contrário, uma mensagem de erro aparecerá. Em seguida, o conteúdo da matriz será impresso.

#Retrive todos os arquivos Perl de um diretório específico
@content = glob ('/home/fahmida/*.pl ');
#Print O valor retornado pela função glob ()
imprimir "@Content \ n";

Saída:
A lista de todos os arquivos de texto do diretório, "Home/Fahmida/", foi exibida na saída.

Exemplo 3: Recupere todos os arquivos e pastas do diretório atual

Crie um arquivo PERL com o seguinte código para saber o uso da função glob () para pesquisar todos os arquivos e pastas do diretório atual. Todos os arquivos e pastas do diretório atual serão armazenados em uma matriz. Em seguida, o conteúdo da matriz será impresso.

# Recupere todos os arquivos e pasta do diretório atual usando padrão
@content = glob ('*');
#Itere o valor retornado usando loop
foreach $ val (@Content)

#Print cada valor
Imprima $ val . "";

#Add NewLine
imprimir "\ n";

Saída:
A saída a seguir mostra todos os arquivos e pastas do diretório atual.

Exemplo-4: Recupere os arquivos específicos do diretório atual

Crie um arquivo PERL com o seguinte código para saber o uso da função glob () para pesquisar todos os arquivos de texto do diretório atual. Todos os arquivos de texto do diretório atual serão armazenados em uma matriz. Em seguida, o conteúdo da matriz será impresso.

# Recupere todos os arquivos de texto do diretório atual usando o padrão
@content = glob "*.TXT";
#Itere o valor retornado usando loop
foreach $ val (@Content)

#Print cada valor
Imprima $ val . "";

#Add NewLine
imprimir "\ n";

Saída:
A saída a seguir mostra todos os arquivos de texto do diretório atual.

Exemplo 5: Recupere as pastas específicas usando “?”

Crie um arquivo PERL com o seguinte código para saber o uso da função glob () para pesquisar pastas específicas do diretório atual usando “?”. Todas as pastas do diretório atual que começam com o personagem "T" e o nome da pasta que contém 4 caracteres serão armazenadas em uma matriz. Em seguida, o conteúdo da matriz será impresso.

# Recupere todas as pastas do diretório atual
# que começa com 't' e contém 4 caracteres
@content = glob ("t???");
#Itere o valor retornado usando o loop
foreach $ val (@Content)

#Print cada valor
Imprima $ val . "";

#Add NewLine
imprimir "\ n";

Saída:
A saída a seguir mostra todas as pastas do diretório atual que começa com o personagem "t", e o nome da pasta contém 4 caracteres.

Exemplo 6: Recupere as pastas específicas usando "*" e [0-9]

Crie um arquivo PERL com o seguinte código para saber o uso da função glob () para pesquisar pastas específicas do diretório atual usando “*”E [0-9]. Todos os arquivos do diretório atual que começam com qualquer personagem, mas terminam com “ob”E um dígito será armazenado em uma matriz. Em seguida, o conteúdo da matriz será impresso.

# Recupere todos os arquivos do final do diretório atual com 'Ob' e o dígito
@content = glob ("*ob [0-9].*");
#Itere o valor retornado usando loop
foreach $ val (@Content)

#Print cada valor
Imprima $ val . "";

#Add NewLine
imprimir "\ n";

Saída:
A saída a seguir mostra que o diretório atual contém 6 arquivos que correspondem ao padrão definido do código.

Conclusão

A maneira de pesquisar arquivos e pastas em um local específico usando a função glob () foi mostrado aqui. Os usos de diferentes tipos de metacaracter para escrever o padrão de pesquisa foram mostrados nos exemplos.