Estou procurando grep para mostrar todos os caracteres que não começam com números. Eu fiz algo parecido com isto:
grep -v '^[1-2]*[a-zA-Z]?' -o
mas não funciona. Você tem alguma idéia para alguma reg exp?
grep
regular-expression
Paweł Jaworowski
fonte
fonte
-v
com-o
causandogrep
não produz saída.grep
usa expressões regulares básicas . Isso significa que você?
está sendo tratado como um ponto de interrogação literal. Escape do ponto de interrogação\?
ou use a-E
opção paraextended
expressões regulares, caso em que?
é um caractere padrão.Respostas:
grep -v '^[0-9]'
Irá gerar todas as linhas que não
-v
correspondem ( ) às linhas que começam^
com um número[0-9]
Por exemplo
ou se você deseja remover todas as palavras que começam com um dígito
ou com atalhos e asserções
Por exemplo
fonte
\> Matches the null string at the end of a word. This is equivalent to
[[:>:]] '. `Depende de como você define uma string (por exemplo, se você contar caracteres de pontuação como string ou não). No entanto, você pode começar de algo como
fonte
Para remover todas as palavras de uma linha que começa com um número,
sed
você pode:... ou, se você quiser apenas palavras que não comecem com números impressos em uma linha separada:
... o acima deve fazer bastante bem. Convém personalizar a tradução da linha
\n
eletrônicay///
para divisores que julgar relevantes. E,sed
dependendo da implementação, você também pode querer um real<tab>
no lugar da\t
fuga da barra invertida.fonte
!
à frente da'"'
troca, mas se você estiver usando,bash
poderá quererset +H
ouzsh
entãoset -K
. Na minha opinião, qualquer!
expansão citada é insanidade. Você também pode usar heredocs como"${0#-}" <<\CMD\nyour cmd strings\nCMD\n
para obter um comportamento com script em shells interativos."${0#-}" <<...
dica!"${0#-}" -s -- arg list <<\CMD\n...
também poderá definir os parâmetros posicionais na chamada. Usar"$@"
ou*
geralmente é útil para mim no lugar dearg list
. E comln -s "$(command -v "${0#-}")" /tmp/new_name; cd tmp; new_name <<\CMD\n...
você pode obter um novo$0
e ainda lidar com stdin.