Você também boceja quando lê aquelas chatíssimas man pages? Milhares de opções, explicações confusas, textos em inglês, formatação arcaica, chato, chato, chato.
Que tal uma versão rápida, resumida, com tabelas que listam somente as opções mais utilizadas dos comandos mais utilizados?
Esta é a miniman, a sua "mini man page", para aqueles momentos de pressa em que você precisa lembrar daquela opção mágica daquele comandinho safado.
Estas tabelas fazem parte do meu livro Shell Script Profissional, estão no Apêndice D — Caixa de ferramentas (páginas 425 a 456). O livro é um estudo aprofundado do Shell e suas ferramentas. Fiz questão de escrevê-lo numa linguagem direta, clara e didática, para ser BEM DIFERENTE dos textos chatos das man pages! :)
cat
Opção
Lembrete
Descrição
-n
Number
Numera as linhas (Formato: Espaços, Número, TAB, Linha)
-s
Squeeze
Remove as linhas em branco excedentes
cut
Opção
Lembrete
Descrição
-d
Delimiter
Escolhe o delimitador (o padrão é o TAB)
-f
Field
Mostra estes campos (veja tabela seguinte)
-c
Chars
Mostra estes caracteres (veja tabela seguinte)
-f e -c
Abrange
Significa
2,5
2 5
O segundo e o quinto
2-5
2 3 4 5
Do segundo ao quinto
2-
2 3 4 5 …
Do segundo em diante
-5
1 2 3 4 5
Até o quinto
2,5-
2 5 6 7 …
O segundo e do quinto em diante
2,3,5-8
2 3 5 6 7 8
O segundo, o terceiro e do quinto ao oitavo
date
Opção
Lembrete
Descrição
-d
Date
Especifica a data (Ex.: tomorrow, 2 days ago, 5 weeks)
+%?
Formato da data – veja tabela seguinte (Ex.: %Y-%m-%d)
Formato
Descrição do caractere de formatação
%a
Nome do dia da semana abreviado (Dom..Sáb)
%A
Nome do dia da semana (Domingo..Sábado)
%b
Nome do mês abreviado (Jan..Dez)
%B
Nome do mês (Janeiro..Dezembro)
%c
Data completa (Sat Nov 04 12:02:33 EST 1989)
%y
Ano (dois dígitos)
%Y
Ano (quatro dígitos)
%m
Mês (01..12)
%d
Dia (01..31)
%j
Dia do ano (001..366)
%H
Horas (00..23)
%M
Minutos (00..59)
%S
Segundos (00..60)
%s
Segundos desde 1º de Janeiro de 1970
%%
Um % literal
%t
Um TAB
%n
Uma quebra de linha
diff
Opção
Lembrete
Descrição
-u
Unified
Formato unificado (com contexto e os sinais de + e -)
-C
Context
Indica a quantidade de linhas usadas para o contexto
-r
Recursive
Varre todo o diretório
-N
New file
Considera arquivos não-encontrados como vazios
-i
Ignore case
Ignora a diferença entre maiúsculas e minúsculas
-w
White space
Ignora a diferença de linhas e espaços em branco
echo
Opção
Lembrete
Descrição
-n
Newline
Não quebra a linha no final
-e
Escape
Interpreta os escapes especiais (ver tabela seguinte)
Escape
Lembrete
Descrição
\a
Alert
Alerta (bipe)
\b
Backspace
Caractere Backspace
\c
EOS
Termina a string
\e
Escape
Caractere Esc
\f
Form feed
Alimentação
\n
Newline
Linha nova
\r
Return
Retorno de carro
\t
Tab
Tabulação horizontal
\v
Vtab
Tabulação vertical
\\
Backslash
Barra invertida \ literal
\nnn
Octal
Caractere cujo octal é nnn
\xnn
Hexa
Caractere cujo hexadecimal é nn
find
Opção
Descrição
-name
Especifica o nome do arquivo (ou *parte* dele)
-iname
Ignora a diferença entre maiúsculas e minúsculas no nome
-type
Especifica o tipo do arquivo (f=arquivo, d=diretório, l=link)
-mtime
Mostra os arquivos modificados há N dias
-size
Mostra os arquivos que possuem o tamanho especificado
-user
Mostra os arquivos de um usuário específico
-ls
Mostra os arquivos no mesmo formato do comando ls
-printf
Formatação avançada para mostrar os nomes dos arquivos
-exec
Executa um comando com os arquivos encontrados
-ok
Executa um comando com os arquivos encontrados, com confirmação
-and, -or
E, OU lógico para as condições
-not
Inverte a lógica da expressão
Detalhes das opções -exec e -ok
A string {} representa o nome do arquivo encontrado
O comando deve ser passado sem aspas
O comando deve ser terminado por um ponto-e-vírgula escapado \;
Tem que ter um espaço antes do ponto-e-vírgula escapado
Mover os arquivos .txt para .txt.old: find . -name '*.txt' -exec mv {} {}.old \;
fmt
Opção
Lembrete
Descrição
-w
Width
Define o número máximo de colunas (o padrão é 75)
-u
Uniform
Remove espaços excedentes
grep
Opção
Lembrete
Descrição
-i
Ignore case
Ignora a diferença entre maiúsculas e minúsculas
-v
Invert
Mostra as linhas que não casam com o padrão
-r
Recursive
Varre subdiretórios também
-q
Quiet
Não mostra as linhas que encontrar (usar com o test)
-s
Silent
Não mostra os erros (usar com o test)
-n
Number
Mostra também o número da linha
-c
Count
Conta o número de linhas encontradas
-l
Filename
Mostra apenas o nome o arquivo que casou
-w
Word
O padrão é uma palavra inteira, e não parte dela
-x
Full line
O padrão é uma linha inteira, e não parte dela
-A
After
Mostre N linhas de contexto depois do padrão
-B
Before
Mostre N linhas de contexto antes do padrão
-C
Context
Mostre N linhas de contexto antes e depois do padrão
As identidades do grep
grep
Procura por uma expressão regular básica
egrep ou grep -E
Procura por uma expressão regular estendida
fgrep ou grep -F
Procura por uma string
Metacaracteres
Expressão regular básica
^ $ . * [ \? \+ \| \( \) \{ \}
Expressão regular estendida
^ $ . * [ ? + | ( ) { }
head
Opção
Lembrete
Descrição
-n
Lines
Mostra as N primeiras linhas (o padrão é 10)
-c
Char
Mostra os N primeiros caracteres (incluindo \n)
od
Opção
Lembrete
Descrição
-a
Name
Mostra os nomes dos caracteres
-c
ASCII
Mostra os caracteres ASCII
-o
Octal
Mostra os códigos em octal
-x
Hexa
Mostra os códigos em hexadecimal
paste
Opção
Lembrete
Descrição
-d
Delimiter
Escolhe o delimitador (o padrão é o TAB)
-s
Serial
Transforma todas as linhas em apenas uma
printf
Formato
Lembrete
Descrição
%d
Decimal
Número decimal
%o
Octal
Número octal
%x
Hexa
Número hexadecimal (a-f)
%X
Hexa
Número hexadecimal (A-F)
%f
Float
Número com ponto flutuante
%e
Número em notação científica (e+1)
%E
Número em notação científica (E+1)
%s
String
String
sed
Opção
Lembrete
Descrição
-n
Not print
Só mostra a linha caso usado o comando p
-e
Expression
Especifica os comandos de edição
-f
File
Lê os comandos de edição de um arquivo
Comando
Lembrete
Ação
s///
Substitute
Troca um texto por outro
p
Print
Mostra a linha na saída
l
List
Mostra a linha na saída, com \t, \a, …
d
Delete
Apaga a linha
q
Quit
Sai do sed
r
Read
Lê o conteúdo de um arquivo
N
Next line
Junta a próxima linha com a atual
Endereço
Abrange…
1
A primeira linha
1,5
Da primeira linha até a quinta
5,$
Da quinta linha até a última
/sed/
A(s) linha(s) que contém a palavra “sed”
5,/sed/
Da quinta linha até a linha que contém “sed”
/sed/,/grep/
Da linha que contém “sed” até a que contém “grep”
1,5!
Todas as linhas, exceto da primeira a quinta
/sed/!
A(s) linha(s) que não contém a palavra “sed”
s///
Exemplo
Descrição
g
s/a/b/g
Modificador Global, para trocar todas as ocorrências
p
s/a/b/gp
Modificador Print, para mostrar o texto substituído
&
s/./& /
Expande para todo o trecho casado na primeira parte
\1
s/\(.\)/\1 /
Expande para o conteúdo do primeiro grupo marcado com \(…\)
seq
Opção
Lembrete
Descrição
-s
Separator
Define o separador (o padrão é \n)
-f
Format
Define o formato do número (o padrão é %g)
sort
Opção
Lembrete
Descrição
-n
Numeric
Ordena numericamente (o padrão é alfabeticamente)
-r
Reverse
Reverte a ordenação (de Z para A, de 9 para 0)
-f
Ignore case
Ignora a diferença entre maiúsculas e minúsculas
-k
Key
Ordena pela coluna N (a primeira é 1)
-t
Separator
Escolhe o separador para o -k (o padrão é o TAB)
-o
Output
Grava a saída no arquivo especificado
tail
Opção
Lembrete
Descrição
-n
Lines
Mostra as N últimas linhas (o padrão é 10)
-c
Char
Mostra os N últimos caracteres (incluindo \n)
-f
Follow
Monitora o arquivo ad infinitum
tee
Opção
Lembrete
Descrição
-a
Append
Anexa ao final do arquivo (o padrão é sobrescrever)
tr
Opção
Lembrete
Descrição
-s
Squeeze
Espreme caracteres iguais consecutivos para apenas um
-d
Delete
Apaga todos os caracteres listados
-c
Complement
Inverte a lista de caracteres (-c 0-9 é similar a [^0-9])