Por favor, explique a sintaxe

2

Alguém pode explicar a sintaxe dos seguintes comandos? Eu sei o que eles fazem, mas estava tendo dificuldade em obter a sintaxe,

find / -type f -exec grep -H 'text-to-find-here' {} \;
cat access.log | cut -d '"' -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -r
sudo cat error_log.20150205 | grep mpmstat | grep -v "," | cut -d: -f4- | grep -v ":"   | sed -e's/rdy//g' |  sed -e 's/bsy\|wr\|ka\|log\|dns\|cls\|rd/,/g
    
por MegaTron 13.03.2015 / 20:28

1 resposta

3

find
/ → Pesquisar a partir do root
-type f → apenas seleciona arquivo ( f )
-exec ....{} \; → executa o comando inserindo os nomes encontrados (arquivo) para {} um por um grep -H 'test-to-find → executa este grep em todos os arquivos encontrados por find

cat access.log | → arquivo de saída para stdout e pipe no próximo comando
cut -d '"' -f3 | → divide linhas em " e produz somente o campo 3, canaliza para o próximo comando
cut -d ' ' -f2 | → corta o campo 3 com base em espaços e obtém o segundo campo, canaliza para o próximo. sort | uniq | sort -r → classifica a saída, remove duplicatas, classifica em ordem reversa ( -r )
(este último pode ser feito com algumas sort versões com sort -ur em um comando, e o primeiro é um cat supérfluo, como você pode escrever < access.log cut -d '"' | .... )

sudo cat error_log.20150205 | → executa o gato com permissão de root (direitos de acesso no arquivo?)
grep mpmstat | → apenas seleciona linhas com a palavra mpmstat
grep -v "," | → desmarcar ( -v ) qualquer linha com vírgula. cut -d: -f4- | → dividido em campos baseados em ':' como delimitador, pegue os campos nr 4 e acima.
grep -v ":" | → suprimir linhas com ':' (improvável lá como este foi o caractere de divisão antes)
sed -e's/rdy//g' | → substituir s a sequência rdy sem nada completo ( g ) de cada linha
sed -e 's/bsy\|wr\|ka\|log\|dns\|cls\|rd/,/g → substituir várias alternativas ( bsy, wr , etc, separated by \ | ') por uma vírgula

    
por 13.03.2015 / 20:41

Tags