sed, grep e awk file sorting

1

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

find -type f | sed -s 'load

No entanto, eu recebo recorrentemente um erro

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

A pior parte é que, embora eu seja capaz de manipular regexes, sou muito ruim em usar o grep / sed / awk, e isso está me atrasando o tempo todo. Seja qual for o material que eu encontrei on-line até agora não é ótimo. Vocês conhecem algum screencasts / tutoriais abrangentes e razoavelmente concisos? Eu ainda sinto falta da habilidade de ler e entender rapidamente os manuais do Linux.

    
por user3122885 30.01.2014 / 17:07

1 resposta

2

Você não precisa do grep / sed / awk, deixe 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 para linhas que correspondam ao padrão.

    
por glenn jackman 30.01.2014 / 17:14