classificação de arquivos sed, grep e awk

classificação de arquivos sed, grep e awk

Estou tentando obter todos os arquivos que possuem 'load' em seus nomes de um diretório. Estou tentando fazer:

find -type f | sed -s 'load

No entanto, recebo recorrentemente um erro

sed: -e expressão #1, caractere 1: comando desconhecido: `f'

A pior parte é que, embora eu seja capaz de manipular expressões regulares, sou muito ruim em usar grep/sed/awk, e isso está me deixando lento o tempo todo. Qualquer material que encontrei online até agora não é bom. Vocês conhecem algum screencasts/tutoriais abrangentes e bastante concisos? Ainda sinto falta da habilidade de ler e entender rapidamente os manuais do Linux.

Responder1

Você não precisa de grep/sed/awk, vamos findfiltrar os resultados para você:

find . -type f -name '*load*'

Ou, apenas no bash

shopt -s globstar nullglob
load_files=( **/*load* )

se você quiser uma ferramenta externa:

find . -type f | grep load
find . -type f | awk '/load/'
find . -type f | sed -n '/load/p'

Com o sed, use -n para suprimir a saída normal e imprimir apenas as linhas que correspondem ao padrão.

informação relacionada