(In) mnemônicos formais (e mais pesquisáveis) para comandos padrão 'sed'?

0

Muitos utilitários do Linux têm opções de linha de comando com nomes abreviados e nomes longos funcionalmente sinônimos, por exemplo, ls -k também é ls --kibibytes . Esses nomes longos facilitam a pesquisa on-line. Por exemplo, uma pesquisa geral na internet por código contendo:

"ls -k"

... é menor probabilidade de ser relevante do que uma pesquisa por:

"ls --kibibytes"

... mesmo que o uso de -k seja mais comum, porque muitos comandos têm uma opção -k , mas relativamente poucos têm uma opção --kibibytes .

Da mesma forma, algumas linguagens de programação possuem títulos não-formais sem código ou mnemônicos para certas cadeias de código conciso. Por exemplo, o nome do >(...) in bash é "Substituição do Processo" . Pesquisando on-line por:

'bash "Process Substition"'

... retorna menos resultados falsos do que pesquisar:

'bash ">("'.

sed code usa comandos de uma letra, mas não possui nomes longos sinônimos.

  • Existem nomes (in) formais para os muitos comandos curtos de uma letra de sed ?
  • Se isso falhar, houve tentativas notáveis de criar uma lista de comandos de nomes longos mais formal para sed ?

NB: Não é uma solicitação de instruções sobre como usar os comandos sed , portanto as partes instrutivas da documentação padrão e as FAQs não são relevantes.

Motivação inicial: Uma pesquisa SE não rentável para [sed] user:me para encontrar algum sed código que eu escrevi há alguns meses atrás que usava o comando e , (não a opção -e ).

    
por agc 04.02.2017 / 18:30

1 resposta

2

Analisando o GNU sed , o arquivo info fornece 33 comandos:

# Add "substitute" mnemonic, which the info file left out.
info sed "Command and Option Index" | \
   sed -n '/\*/s/ s c/ s \(substitute\) c/;s/command[:,].*//p'

Saída:

  • : (label)
  • = (print line number)
  • a (append text lines)
  • b (branch)
  • c (change to text lines)
  • D (delete first line)
  • d (delete)
  • e (evaluate)
  • F (File name)
  • G (appending Get)
  • g (get)
  • H (append Hold)
  • h (hold)
  • i (insert text lines)
  • L (fLow paragraphs)
  • l (list unambiguously)
  • N (append Next line)
  • n (next-line)
  • P (print first line)
  • p (print)
  • q (quit)
  • Q (silent Quit)
  • r (read file)
  • R (read line)
  • s (substitute)
  • T (test and branch if failed)
  • t (test and branch if successful)
  • v (version)
  • w (write file)
  • W (write first line)
  • x (eXchange)
  • y (transliterate)
  • z (Zap)

A maioria dos mnemônicos do GNU parece estar em uso geral, mas não em todos. Outros usos incluem:

    
por 04.02.2017 / 20:01

Tags