Bash Print Array com novas linhas

Bash Print Array com novas linhas
Uma matriz é um recipiente que contém os mesmos itens de tipo de dados, tipo inteiro ou tipo de flutuação. Podemos lidar com matrizes executando várias operações. Uma delima comumente usada é quebrar a matriz e imprimir cada palavra em uma nova linha. Este recurso é discutido no artigo de hoje. Para entender esse conceito, você precisa acessar um terminal do Ubuntu para realizar termos relacionados ao Bash no Ubuntu. Cobrimos o tópico de amostras mais simples a críticas para a compreensão do usuário.

Exemplo 1

Neste exemplo, pegue uma variável e atribua o valor a ele. O valor é uma corda longa. Para ter o resultado da string em novas linhas, atribuiremos o valor da variável a uma matriz. Para garantir o número de elementos presentes na string, imprimiremos o número de elementos usando um comando respectivo.

S a = ”eu sou um estudante. Eu gosto de programar ”
$ arr = ($ a)
$ echo “ARR tem $ #arr [@] elementos.”

Você verá que o valor resultante exibiu a mensagem com os números do elemento. Onde o sinal '#' é usado para contar apenas o número de palavras presentes. [@] mostra o número do índice dos elementos da string. E o sinal "$" é para a variável.

Para imprimir cada palavra em uma nova linha, precisamos usar as chaves “%s '\ n”. '%s' deve ler a string até o fim. Ao mesmo tempo, '\ n' move as palavras para a próxima linha. Para exibir o conteúdo da matriz, não usaremos o sinal "#". Porque apenas traz o número total de elementos presentes.

$ printf “'%s' \ n” “$ arr [@]”

Você pode observar a partir da saída que cada palavra é exibida na nova linha. E cada palavra é citada com uma única cotação porque fornecemos isso no comando. Isso é opcional para você converter a string sem citações únicas.

Exemplo 2

Geralmente, uma corda é dividida em uma matriz ou palavras únicas usando guias e espaços, mas isso geralmente leva a muitas quebras. Usamos outra abordagem aqui, que é o uso de ifs. Este ambiente IFS lida com mostrar que uma corda é quebrada e convertida em pequenas matrizes. O IFS tem um valor padrão de "\ n \ t". Isso significa que o espaço, uma nova linha e uma guia podem passar o valor para a próxima linha.

Na instância atual, não usaremos o valor padrão de IFS. Mas, em vez disso, substituí -lo por um único caractere de newline, ifs = $ '\ n'. Então, se você usar espaço e guias, isso não fará com que a string quebre.

Agora pegue três cordas e guarde -as na variável de string. Você verá que já escrevemos os valores usando guias para a próxima linha. Quando você tira impressão dessas cordas, ela formará uma única linha em vez de três.

$ str = ”Eu sou um aluno
Eu gosto de programar
Minha linguagem favorita é .líquido.”
$ echo $ str

Agora é hora de usar o IFS no comando com o personagem Newline. Ao mesmo tempo, atribua os valores da variável à matriz. Depois de declarar isso, leve uma impressão.

$ Ifs = $ '\ n' arr = ($ str)
$ printf “%s \ n” “$ arr [@]”

Você pode ver o resultado. Isso mostra que cada string é exibida individualmente em uma nova linha. Aqui toda a string é tratada como uma única palavra.

Uma coisa é ser observada aqui: Depois que o comando for encerrado, as configurações padrão do IFS são novamente revertidas.

Exemplo 3

Também podemos limitar os valores da matriz a serem exibidos em todas as novas linhas. Pegue uma corda e coloque -a na variável. Agora converta -o ou armazene -o na matriz como fizemos em nossos exemplos anteriores. E simplesmente pegue a impressão usando o mesmo método descrito anteriormente.

Agora observe a sequência de entrada. Aqui usamos citações duplas na parte do nome duas vezes. Vimos que a matriz parou de exibir na próxima linha sempre que encontrar uma parada completa. Aqui a parada completa é usada após as citações duplas. Portanto, cada palavra será exibida em linhas separadas. O espaço entre as duas palavras é tratado como um ponto de ruptura.

$ x = (nome = ”Ahmad Ali, mas”. Eu gosto de ler. "Assunto favorito = biologia")
$ arr = ($ x)
$ printf “%s \ n” “$ arr [@]”

Como o ponto final é depois de "Butt", então a quebra da matriz é interrompida aqui. "Eu" foi escrito sem espaço entre o ponto final, por isso está separado do ponto final.

Considere outro exemplo de um conceito semelhante. Portanto, a próxima palavra não é exibida após o ponto final. Então você pode ver que apenas a primeira palavra é exibida como resultado.

$ x = (nome = "Shawa". "Assunto Fav" = "Inglês")

Exemplo 4

Aqui temos duas cordas. Tendo 3 elementos cada dentro dos parênteses.

$ ARAY1 = (Apple Banana Peach)
$ array2 = (cereja laranja de manga)

Então precisamos exibir o conteúdo de ambas as cordas. Declarar uma função. Aqui, usamos a palavra -chave "Typeset" e depois atribuímos uma matriz a uma variável e outras matrizes para outra variável. Agora podemos imprimir as duas matrizes, respectivamente.

$ a ()
Typeset -N FirstArray = $ 1 SecondArray = $ 2
Printf '%s \ n' 1st: “$ FirstArray [@]”
Printf '%s \ n' 2nd: “$ SecondArray [@]”

Agora, para imprimir a função, usaremos o nome da função com os dois nomes de strings, conforme declarado anteriormente.

$ a Array1 Array2

É visível do resultado que cada palavra de ambas as matrizes é exibida em uma nova linha.

Exemplo 5

Aqui uma matriz é declarada com três elementos. Para separá-las em novas linhas, usamos um tubo e um espaço citado com cochas duplas. Cada valor da matriz do respectivo índice atua como entrada para o comando após o tubo.

$ Array = (Linux Unix PostgreSQL)
$ echo $ Array [*] | tr ““ “\ n”

É assim que o espaço funciona na exibição de cada palavra de uma matriz em uma nova linha.

Exemplo 6

Como já sabemos, o funcionamento de "\ n" em qualquer comando muda as palavras inteiras depois dele para a próxima linha. Aqui está um exemplo simples para elaborar este conceito básico. Sempre que usamos "\" com ""n"" em qualquer lugar da frase, isso leva à próxima linha.

$ printf “%b \ n” “Tudo o que brilha é \ não ouro”

Então a frase é reduzida pela metade e deslocada para a próxima linha. Movendo -se em direção ao próximo exemplo, ""%b \ n"" é substituído. Aqui um ""-e"" constante também é usado no comando.

$ echo -e “Hello World! Eu sou novo aqui""

Portanto, as palavras após “\ n” são deslocadas para a próxima linha.

Exemplo 7

Usamos um arquivo Bash aqui. É um programa simples. O objetivo é mostrar a metodologia de impressão usada aqui. É um ""para loop"". Sempre que imprimimos uma matriz através de um loop, isso também leva à quebra da matriz em palavras separadas em novas linhas.

Para a palavra em $ a
Fazer
Eco $ word
feito

Agora vamos impressionar o comando de um arquivo.

Conclusão

Existem várias maneiras de alinhar seus dados de matriz nas linhas alternativas em vez de exibi -las em uma única linha. Você pode usar qualquer uma das opções fornecidas em seus códigos para torná -las eficazes.

"