Como sugerido por @slm, usei o comando grep --color
junto com regex
. Aqui está a minha solução final que funcionou perfeitamente para mim.
grep --color=always -P '(?=ATG).*(?=GT).*(?=TAG)' data.txt
Agora, esta é uma questão de lição de casa, mas eu simplesmente não tenho idéia de como resolvê-la. Vai ser ótimo se alguém puder me orientar sobre como fazer isso.
Recebi uma grande cadeia de alfabetos maiúsculos em um arquivo .txt. Eu basicamente preciso encontrar dois caracteres de sub strings (3-4) e mudar a fonte (ou torná-la em negrito, ou realçá-la) da sub-string que está entre as duas sub strings.
A localização das strings deve ser relativamente fácil usando uma ferramenta como grep
. Dado que esta é uma questão de lição de casa, você pode fornecer qualquer coisa que você tenha pesquisado até agora? Eu não quero tirar a oportunidade de aprender de você, mas gostaria de ajudar também.
Veja a man page de grep
. Eu estaria inclinado a tentar resolver isso, criando um arquivo com as seqüências de caracteres correspondentes, vamos chamá-lo patterns.txt
.
$ cat patterns.txt
AGT
AG
Depois de colocar as strings que você está procurando neste arquivo, você pode usar grep
para destacar tanto a cor quanto a correspondência. O switch -f
permite que você corresponda a padrões fornecidos por um arquivo, da seguinte forma:
$ grep -f patterns.txt sample.txt
É altamente recomendável que você leia a página grep
man e confira alguns dos outros switches que ela oferece. Também tente brincar com o grepping para diferentes strings e tente usar alguns dos outros comutadores grep
.
Sinta-se à vontade para dar seguimento aos comentários se tiver alguma questão de acompanhamento, o Unix é uma questão de experimentar.
Tags text-processing