![]() |
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos! |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| necessitar de ajuda: sed e repetir padrões | metalwarrior | UNIX & avançada para usuários experientes | 1 | 02-02-2008 05:00 |
| Repetindo variáveis no código | mahalakshmi | Programação Shell Script e | 1 | 02-08-2007 07:33 |
| Repetindo comandos em um script | Dave2874 | Programação Shell Script e | 4 | 03-14-2005 10:34 |
| Omita repetindo linhas | TheCrunge | UNIX para Dummies Perguntas & Respostas | 6 | 02-22-2005 06:26 |
| repetindo mensagem do kernel | progressdll | UNIX & avançada para usuários experientes | 2 | 07-29-2002 05:18 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
assistência com o sed (repetindo padrões)
oi,
Preciso de escrever um comando para procurar em um arquivo de texto, encontrar as linhas que contêm os padrões de três ou mais caracteres que repetir uma vez, e colocou perenthesizes em torno deles. Assim, por exemplo, a linha "123test123" seria alterada para "(123) teste (123)" e "abcdeabcde" para "(abcde) (abcde)". qualquer dica é apreciado. |
|
||||
|
Olá,
Eu posso te ajudar com 1. Query, onde está a tentar mudar "123test123" para "(123) teste (123)". Isto pode ser feito facilmente utilizando SED . ---------- Sintaxe: sed -e 's / \ (123 \) / (\ 1) / g': -> g parâmetro irá substituir o exemplo a nível mundial em arquivo. Exemplo: echo 123test123 | sed -e 's / \ (123 \) / (\ 1) / g' Saída: (123) teste (123) ---------- Tente isto no seu arquivo e deixe-nos saber que vai no seu fim. ![]() Obrigado, |
|
||||
|
oi obrigado pela resposta, mas eu preciso da sed comando para encontrar todos os padrões de repetição própria e colocá-los dentro de (). Não posso especificar o padrão para que possa procurar.
ele pode ser 123 ou abc ou tudo o que é repetido através da linha. obrigado |
|
||||
|
Se você tiver apenas um ou limitada aranzel para substituir, em seguida, que pode ser feito facilmente com sed como explicado anteriormente.
Por favor, siga os passos. -------- 1) Salvar thispatternthatpattern em um arquivo chamado teste 2) Agora, de acordo com thispatternthatpattern que deverão ser convertidos para este (padrão) que (padrão). 3) Agora digite seguinte comando ---------- sed -i 's / aranzel / (padrão) / g' teste ----------- 4) Ver o O / P usando o "gato ensaio". Deve ser tão colado abaixo. bash-3.1 $ cat teste presente (padrão) nthat (padrão) n -------- Obrigado, |
|
||||
|
oi tnx, mas esse não é o que estou procurando.
como eu disse eu não quero especificar então padrão para sed. Eu quero encontrar automaticamente todos os padrões que são repetidos e fazer algo com eles. a expressão regular seria algo parecido com isto: ".* \ (3, \) \ .* \ 1 ' mas eu só posso salvar a coisa toda em register1, eu cant distinguir entre o primeiro padrão, repetido padrão e conteúdo possíveis entre eles. |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|