Perguntas sobre 'regular-expression'

2
respostas

Por que [0-9] * corresponde onde não há algarismos?

então o comando é: echo "abc 123" | sed "s/[0-9]*/h/g" e estou recebendo a saída como hahbhch h como estou obtendo essa saída? a saída que eu esperava que fosse é abc h que estou recebendo por este comando: echo "abc 123"...
23.12.2015 / 16:22
2
respostas

É sed \ {x, y \} gama gulosa?

Gostaria de saber se, por exemplo, \{x,y\} in sed tentará corresponder o máximo possível de caracteres. Além disso, alguém pode me explicar o comportamento inesperado abaixo de sed ? echo "baaab" | sed 's/a\{1,2\}//' bab echo "baa...
19.11.2015 / 01:00
4
respostas

find: lista todos os diretórios, exceto aqueles com números em seus nomes e seus filhos

Estou executando o seguinte para encontrar todos os diretórios sem um número neles (sem incluir o caminho original): find /path/2/directory -type d -name '[!0-9]*' O problema é que ele encontra diretórios que são subdiretórios de diretóri...
03.03.2016 / 23:29
5
respostas

Estratégia para extrair o nome dos filmes deste conjunto de dados não uniforme?

Estou trabalhando em um problema de banco de dados de filmes para melhorar as expressões regulares. Esse é o problema que estou enfrentando. Meu conjunto de dados é assim: Movie Name (variable space and tabs) yearMovie1(can have spaces or...
04.07.2014 / 20:59
3
respostas

Como uso o operador padrão regular {m, n} no grep?

Eu tenho um arquivo de texto, do qual eu preciso selecionar apenas essas linhas, que incluem a string "tt". Então eu tentei isso na linha de comando: grep "t{2}" textfile Allthough eu sei que o textfile contém palavras como "podre" "lixo"...
14.02.2015 / 14:19
5
respostas

remove a cadeia principal no bash

Eu tento fazer com que esse comando sed funcione. Eu tenho uma string como rev00000010 e eu só quero o último número, 10 nesse caso. Eu tentei isso: TEST='rev00000010' echo "$TEST" | sed '/^[[:alpha:]][0]*/d' echo "$TEST" | sed '/^re...
13.11.2014 / 14:59
8
respostas

Substitua qualquer coisa entre parênteses, mesmo que abrangendo várias linhas

Eu gostaria de usar o bash ou shell script e substituir qualquer coisa entre os dois parênteses com um espaço vazio. O texto entre os dois parênteses pode estar em várias linhas, como: myFunction (line0 line1 line2 line3 line4) que...
29.01.2017 / 00:15
4
respostas

Operador match-zero-or-more na globalização shell

Estou preso a um problema bastante trivial aqui: como posso fazer com que o símbolo * no bash signifique zero ou mais , como acontece em ferramentas como sed ? Por exemplo, ak* deve corresponder a qualquer arquivo cujo nome consista...
27.10.2015 / 00:22
4
respostas

Como detectar o fim da linha com sed

Estou procurando uma maneira de executar somente a substituição quando o último caractere for uma nova linha, usando sed . Por exemplo: lettersAtEndOfLine é substituído, mas isso não é: lettersWithCharacterAfter& Como sed...
02.06.2015 / 01:43
2
respostas

Corresponde ao próximo padrão que é menor que o anterior

Eu tenho um arquivo com linhas de código QR e quero grep apenas para aqueles cujas subseqüências não aumentam em comprimento . Exemplo: Este é bom porque a próxima sequência é menor ou igual à anterior: ####### ###### ### ### ## # # #...
22.12.2015 / 17:28