Sed: aprendendo script de shell usando o comando de terminal Sed

Sed: aprendendo script de shell usando o comando de terminal Sed

Sed: aprendendo script de shell usando o comando de terminal Sed

O comando "sed" em Sistemas Operacionais Livres do tipo GNU / Linux é um comando muito versátil, já que por sua vez É considerado um editor de texto orientado para "fluir" ao invés de "interativo" como os típicos, uma vez que aceita um arquivo ou entrada padrão como entrada, processa cada linha e o resultado é enviado à saída padrão. Quer dizer, SED (Stream EDitor) nos permite modificar o conteúdo das diferentes linhas de um arquivo com base em uma série de comandos ou um arquivo de comando.

Geralmente, o comando «sed» é usado como um filtro, uma vez que lê cada linha de sua entrada de dados e, em seguida, executa as ações solicitadas que normalmente são lidas, extraídas, modificadas e mostradas ou salvas. Embora seu poder seja tal que além disso, permite-nos, de forma confortável, apagar linhas, registros ou substituir cadeias de caracteres dentro das linhas de um arquivo.

Introdução ao comando "sed"

Em outras publicações anteriores da DesdeLinux falamos e mostramos exemplos do uso deste comando, tais como: Como deletar linhas específicas de um arquivo ... y Com Terminal: Usando Expressões Regulares II: Substituições, portanto, desta vez veremos diretamente exemplos um pouco mais avançados e práticos de como usá-lo.

Basicamente, o comando «sed» possui a seguinte sintaxe:

sed comandos_sed archivo

onde "Command_sed" corresponde a uma ou mais especificações sobre o que fazer com as linhas que são lidas de "arquivo".

Um uso mais extenso nos deixa com a seguinte sintaxe:

sed [-ns] '[direccion] instruccion argumentos'

Onde:

Formato de uso do comando SED

Exemplos práticos

Listar arquivos / pastas em um caminho

Linha de comando útil que pode ser usada para listar o conteúdo de um caminho X especificado e então detectar / contar / filtrar um item pesquisado e indicar uma ação subsequente a ser executada.

ls -l | awk '{ print $NF }' | sed 1d

Exemplo:

Exemplo 1: comando SED - Shell Scripting

Esta outra variante usando o comando "sed" é muito útil:

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed 's/^\.\///g' | xargs -n 1 basename

Exemplo 4: comando SED para Shell Scripting

Crie uma sequência numérica

Exiba na tela ou salve em um arquivo uma seqüência numérica (ou qualquer outra entrada) criada mas de forma horizontal (linear) e não vertical que pode ser lida posteriormente por outros processos.

seq 100|tr '\n' ' '|sed 's, $,\n,g'

Exemplo 2: comando SED para Shell Scripting

O mesmo exemplo pode ser feito combinando o comando «sede" com "Printf" como mostrado abaixo:

printf '%s ' {1..100}|sed 's/ $/\n/'

Exemplo 3: comando SED para Shell Scripting

Excluir arquivos com exclusões

Peneirar um caminho do sistema de arquivos em busca de padrões de arquivos a serem excluídos e, em seguida, excluir o restante do conteúdo. Muito útil para uma limpeza precisa e cuidadosa.

find /opt/MilagrOS/file-apps/fondos_pantalla/ -type f | sed -e '/.*\.txt$/d' -e '/.*\.exe$/d' | xargs rm

Exemplo 5: comando SED para Shell_Scripting

Crie um endereço MAC virtual

Esta etapa pode ser útil para tarefas de segurança ou proteção do computador ao navegar em sites perigosos ou realizar tarefas de hacking.

MAC=`(date; cat /proc/interrupts) | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'` ; echo $MAC

O mesmo efeito pode ser obtido usando o comando "sed" em conjunto com outros comandos, conforme mostrado abaixo:

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
od -An -N10 -x /dev/random | md5sum | sed -r 's/^(.{10}).*$/\1/; s/([0-9a-f]{2})/\1:/g; s/:$//;'
od /dev/urandom -w6 -tx1 -An|sed -e 's/ //' -e 's/ /:/g'|head -n 1

Exemplo:

Exemplo 7: comando SED para Shell Scripting

Altere temporariamente o prompt do terminal

Isso pode nos ajudar a inserir temporariamente em nosso prompt parâmetros que podem ser úteis para nós enquanto realizamos uma atividade especial. Neste exemplo, alteraremos apenas a forma como o prompt é exibido.

export PS1="C:\$( pwd | sed 's:/:\\\\\\:g' )\\> "

Exemplo 8. Comando SED para Shell Scripting

Gerenciar a saída do comando "ps"

Comando muito prático para permitir a formatação da saída do comando «ps», ou seja, o que se obtém do Terminal Process Manager.

sudo ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed "/^ 0.0 /d"

Exemplo:

Exemplo 9: comando SED para Shell Scripting

Isso pode ser aplicado para processos de acordo com a porcentagem de memória consumida:

sudo ps -e -o pmem,nice,state,cputime,args --sort pmem | sed "/^ 0.0 /d"

Esses exemplos de linhas de comando usando o comando "sed" Espero que sejam muito úteis. E servem para serem usados ​​diretamente do console ou indiretamente inserindo-os em um script (tarefa automatizada).

Na próxima postagem sobre Shell Scripting, exploraremos outros comandos.

Se você quiser saber um pouco mais sobre o comando "sed" visite este link "Tutorial e breve guia para Unix e Linux"Ou"uso básico»E se você quiser aprender mais sobre Shell Scripting em nosso próprio Blog, você pode conferir nossas outras publicações sobre o assunto, clicando aqui: Scripting em FromLinux.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.