SuperSed.sh
Publicado por Sandro Marcell 11/09/2007
[ Hits: 4.634 ]
Homepage: http://sanmarcell.wordpress.com
Simples script que mostra o poder e versatilidade do Sed (Stream Editor).
#!/bin/sh # # Emulando alguns comandos com o sed. # (Mostrando um pouco da versatilidade e poder desta incrível ferramenta!) # # Sandro Marcell (sandro_marcell@yahoo.com.br) # # Para acessar o manual completo do sed, num terminal digite: # info sed # # Para informações sobre os comandos emulados, digite: # man [comando] # Checando parâmetros: [ $# -le 1 ] || [ $# -gt 2 ] && { sed : << FINAL Uso: $0 -[ctrpwng[tr]] arquivo Onde: -c Emula o cat (Mostra conteúdo dum arquivo) -t Emula o tac (Mostra conteúdo dum arquivo invertendo ordem das linhas) -r Emula o rev (Mostra conteúdo dum arquivo invertendo caracteres) -p Emula o paste (Une pares de linhas lado a lado) -w Emula o wc -l (Conta a quantidade de linhas dum arquivo) -n Emula o nl -ba (Numera todas as linhas dum arquivo) -g Emula o grep . (Remove linhas em branco dum arquivo) -tr Emula o tr a-z A-Z (Converte caracteres minúsculos para maiúsculos) FINAL exit } # Testes condicionais: [ ! -e $2 ] && { sed : << FINAL [$2] Arquivo não encontrado. FINAL exit } || [ ! -r $2 ] && { sed : << FINAL [$2] Sem permissão para visualizar. FINAL exit } # Capturando opções: case $1 in -c | -C) { # Emulando o cat: sed : < $2 sed : <<- FINAL ================== sed emulando o cat ================== FINAL };; -t | -T) { # Emulando o tac: sed '{ 1!G h $!d}' < $2 > /dev/stdout sed : <<- FINAL ================== sed emulando o tac ================== FINAL };; -r | -R) { # Emulando o rev: sed '{ /\n/!G s/\(.\)\(.*\n\)/&\2\1/ //D s/.//}' < $2 > /dev/stdout sed : <<- FINAL ================== sed emulando o rev ================== FINAL };; -p | -P) { # Emulando o paste: sed '{ N s/\n/ /}' < $2 > /dev/stdout sed : <<- FINAL ==================== sed emulando o paste ==================== FINAL };; -w | -W) { # Emulando o wc -l: sed -n '$=' < $2 > /dev/stdout sed : <<- FINAL ==================== sed emulando o wc -l ==================== FINAL };; -n | -N) { # Emulando o nl -ba: sed = $2 | sed 'N ; s/\n/\t/' sed : <<- FINAL ===================== sed emulando o nl -ba ===================== FINAL };; -g | -G) { # Emulando o grep '.': sed '/^$/d' < $2 > /dev/stdout sed : <<- FINAL ===================== sed emulando o grep . ===================== FINAL };; -tr | -TR) { # Emulando o tr a-z A-Z: sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ < $2 > /dev/stdout sed : <<- FINAL ========================= sed emulando o tr a-z A-Z ========================= FINAL };; *) { # Opção inválida: sed : <<- FINAL [$1] Opção inválida. FINAL };; esac # Fim
OPEN CLOSE A TAMAPA DO DRIVE DE DVD
Script que simula uma locadora de DVD
Monitorar links e fazer redundância
Adicionar e Deletar usuários do Samba/Squid
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Autenticação necessária. um aplicativo quer acesso ao chaveiro (3)
O que você está ouvindo agora? [2] (175)
Copiar Layout do Teclado para aplicar em outra Distribuição (10)