Como obter uma substring de Bash após um personagem especificado

Como obter uma substring de Bash após um personagem especificado
Na programação, uma string é uma série de caracteres, seja como uma constante precisa ou algum tipo de variável. Os caracteres contidos em uma string podem ser qualquer número, dígito ou personagem especial. Palavras -chave podem ser usadas para obter uma substring após certos caracteres, e todas as palavras -chave funcionam da mesma forma. Alguns exemplos de palavras -chave incluem o seguinte:
  • Corte
  • Awk
  • Sed

Este artigo fornece vários exemplos para melhorar sua compreensão do conceito de obter uma substring após um determinado personagem.

Para seguir os exemplos fornecidos neste tutorial, primeiro, faça login no seu sistema Linux e abra o terminal. Em seguida, crie um novo arquivo com o nome “Entrada.sh.”

Exemplo 1: Usando a palavra -chave cortada

Abra o arquivo “Entrada.sh ”do diretório doméstico e escreva o seguinte código no arquivo. Em nosso primeiro exemplo, definiremos uma string chamada "String" com algum valor nela com alguns personagens e números. Usaremos a palavra-chave "Cut" neste código, seguida de "-d" para obter a substring da string específica. Depois disso, forneceremos o caráter exato em vírgulas invertidas como “-“ para que a substring seja pesquisada após esse personagem especial.

Aqui, é importante entender a idéia principal de formação de substring. Você deve se lembrar de como incluir a palavra -chave "f" ao usar o comando "corte". A palavra -chave "f" pode ser usada de várias maneiras para criar uma substring, então vamos olhar para este método específico.

-F2: texto após o primeiro personagem especial “-“ e antes do próximo “-“

Isso significa que ele deve exibir a substring "bar" porque está localizada após o primeiro personagem "-" e antes do próximo "-".

Depois de executar este arquivo bash, obtivemos a substring "bar", como esperávamos.

Agora, verificaremos o mesmo exemplo da palavra-chave “-f2-“. Atualize o arquivo, como abaixo.

-f2-: O texto seguindo o primeiro personagem especial “-“ Independentemente de haver numerosos personagens “-“.

Isso implica que ele exibirá a substring "Bar-123" porque está localizada após o primeiro "-" personagem, independentemente de existirem os personagens "-".

Depois de executar este arquivo Bash, obtivemos a substring “Bar-123”, pois está localizado após o primeiro personagem “-“.

Agora vamos tomar a mesma condição, com poucas mudanças na corda e personagens. Definimos a nova string "str" ​​e atribuímos um valor diferente. Neste exemplo, "eu" é o personagem especial a ser pesquisado na string original e, a partir desse personagem, criaremos uma substring. Nesse caso, usamos:

-F2: Para criar uma substring após o primeiro personagem especial "eu" e antes do próximo personagem "eu.”

Isso implica que deve exibir a substring “lteff = str” porque está localizada após o primeiro personagem “i”.

Quando o arquivo é executado, uma substring será obtida antes do próximo "eu" e depois do primeiro "eu.”

Você pode experimentar este método com a mesma linha de string, conforme mostrado na imagem abaixo:

Ele exibirá o mesmo resultado que acima.

Agora, usaremos a palavra -chave "corte" com pouca alteração na condição "f" em uma única linha. Usaremos "F1" neste caso para alterar o resultado da substring. Nós estamos usando:

-F1: Para criar uma substring antes do primeiro personagem especial “eu.”

Isso infere que deve exibir a substring "genf" porque está localizado antes do personagem especial "eu.”

A saída abaixo é como esperado.

Aqui, estamos usando o mesmo exemplo com pouca mudança. Temos usado o método antigo para isso.

O resultado deste script é o mesmo que acima.

Em seguida, pegando o mesmo exemplo anterior, usamos a palavra -chave "Cut", enquanto altera a palavra -chave "f."Aqui, usaremos" F3 "para alterar o resultado da substring, e estamos usando:

-F3: Para criar uma substring após o próximo personagem especial “eu.”

Isso indica que deve mostrar a substring “ng.-01234 ”porque está localizado após o próximo personagem especial“ eu.”

Vamos executar o mesmo código usando o comando bash. Você pode ver o novo resultado abaixo:

Exemplo 2: Usando a palavra -chave AWK

Abra o arquivo “Entrada.sh ”e escreva o código anexado no arquivo. Aqui, declaramos uma declaração de eco com a string "Foo-Bar-123" usando a palavra-chave "Awk". O termo de impressão é seguido pela palavra-chave “-f-“. Isso criará uma substring após o próximo personagem especial, que é "123" e imprimir. Não há necessidade de definir o personagem especial neste caso.

A seguir, a saída “123” mencionada acima.

Exemplo 3: Usando a palavra -chave sed

Neste exemplo, atualizaremos o mesmo arquivo com o código fornecido abaixo. Nesse caso, a palavra -chave "sed" é usada em vez de "corte" ou "awk.”

Este código exibirá uma saída semelhante à do exemplo anterior.

Exemplo 4: Usando caracteres especiais

No próximo exemplo, atualizaremos o mesmo arquivo com o código fornecido abaixo. Aqui, definiremos três cordas: "String", "Searchstr" e "Temp.”Temos“ $ String%$ searchstr* ”no código. O "%" procurará o valor da variável "Searchstr", que é "e" e removerá tudo após esta variável especial da string original. O texto restante será salvo na variável “Temp.”Agora, a variável“ temp ”será impressa, juntamente com o texto“ Esta é uma nova string.”

Se executarmos o código acima, a sequência original será impressa primeiro; Então, a nova substring será impressa.

Tomando o mesmo exemplo com uma pequena atualização, usaremos a string "#*" para que tudo o que segue o valor de "Searchstr", que é "e", seja inserido na variável "Temp.”

Ao verificar em Bash, você verá que a corda antiga imprimirá primeiro. Depois disso, como "ele será removido" é um novo valor de variável "temp", é por isso que será impresso na próxima linha primeiro, junto com o texto "Esta é uma nova string.”

Conclusão

Se você deseja obter uma substring de qualquer string usando algum personagem especial, você pode fazê -lo utilizando os métodos fornecidos acima.