
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 find
filtrar 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.