Gama de bash

Gama de bash
Você pode iterar a sequência de números em Bash de duas maneiras. Um é usando o Seq comando, e outro é especificando o intervalo para loop. Em o seq Comando, a sequência começa a partir de um, o número incrementa em um em cada etapa e imprima cada número em cada linha até o limite superior por padrão. Se o número começar a partir do limite superior, ele diminuirá em um em cada etapa. Normalmente, todos os números são interpretados como um ponto flutuante, mas se a sequência começar de um número inteiro, os números inteiros decimais imprimirão. Se o comando SEQ puder ser executado com sucesso, ele retornará 0; Caso contrário, ele retorna qualquer número diferente de zero. Você também pode iterar a sequência de números usando o loop com intervalo. Ambos Seq O comando e para o loop com intervalo são mostrados neste tutorial usando exemplos.

As opções do comando SEQ:

Você pode usar o seq comando usando as seguintes opções.
-c

Esta opção é usada para promover os números com os zeros principais para imprimir todos os números com igual largura.
-f formato

Esta opção é usada para imprimir números em um determinado formato. O número flutuante pode ser formatado usando %f, %g e %e como caracteres de conversão. %g é usado como padrão.
-s string

Esta opção é usada para separar os números com string. O valor padrão é uma nova linha ('\ n').

Exemplos do comando SEQ:

Você pode aplicar o comando SEQ de três maneiras. Você pode usar apenas o limite superior ou o limite superior e inferior ou o limite superior e inferior com o incremento ou o valor decrescente de cada etapa. Diferentes usos do comando SEQ com opções são mostrados nos exemplos a seguir.

Exemplo 1: comando SEQ sem a opção

Quando o único limite superior é usado, o número começará de 1 e incremento em um em cada etapa. O comando a seguir imprimirá o número de 1 a 4.

$ seq 4

Saída:
A saída a seguir aparecerá após a execução do comando acima.

Quando os dois valores são usados ​​com o comando SEQ, o primeiro valor será usado como o número inicial e o segundo valor será usado como o número final. O comando a seguir imprimirá o número de 7 a 15.

$ seq 7 15

Saída:
A saída a seguir aparecerá após a execução do comando acima.

Ao usar três valores com o comando SEQ, o segundo valor será usado como um valor de incremento ou decréscimo para cada etapa. Para o comando a seguir, o número inicial é 10, o número final é 1 e cada etapa será contada por diminuir 2.

$ seq 10 -2 1

Saída:
A saída a seguir aparecerá após a execução do comando acima.

Exemplo -2: seq com -w opção

O comando a seguir imprimirá a saída adicionando zero líder para o número de 1 a 10.

$ seq -w 01 10

Saída:

A saída a seguir aparecerá após a execução do comando acima.

Exemplo -3: seq com opção -s

O comando a seguir usa “-“ como um separador para cada número de sequência. A sequência de números será impressa adicionando “-“ como o separador.

$ seq -s - 8

Saída:
A saída a seguir aparecerá após a execução do comando acima.

Exemplo -4: seq com -f opção

O comando a seguir imprimirá 10 valores de data a partir de 1. Aqui, a opção "%g" é usada para adicionar números de sequência com outros valores de string.

$ seq -f "%g/04/2018" 10

Saída:
A saída a seguir aparecerá após a execução do comando acima.

O comando a seguir é usado para gerar a sequência de números de ponto flutuante usando "%f". Aqui, o número começará de 3 e incremento em 0.8 em cada etapa, e o último número será menor ou igual a 6.

$ seq -f "%f" 3 0.8 6

Saída:
A saída a seguir aparecerá após a execução do comando acima.

Exemplo 5: Escreva a sequência em um arquivo

Se você deseja salvar a sequência de números em um arquivo sem imprimir no console, você pode usar os seguintes comandos. O primeiro comando imprimirá os números para um arquivo chamado “Seq.TXT”. O número gerará de 5 a 20 e incremento em 10 em cada etapa. O segundo comando imprimirá o conteúdo do “Seq.TXT”Arquivo no terminal.

$ seq 5 10 20 | gato> seq.TXT
$ CAT SEQ.TXT

Saída:
A saída a seguir aparecerá após a execução do comando acima.

Exemplo 6: Uso de 'seq' para criar o nome do arquivo

Suponha que você queira criar arquivos chamados FN1 para FN10 usando o loop com seq. Crie um arquivo chamado “SQ1.Bash ”e adicione o seguinte código. Para o loop, itera por 10 vezes usando o comando 'seq' e criará 10 arquivos na sequência FN1, FN2, FN3… FN10.

#!/BIN/BASH
# Gere 10 números de sequência
para eu no 'seq 10'
fazer
# Crie o nome do arquivo
toque fn $ i
feito

Execute os seguintes comandos para executar o código do arquivo Bash e verifique se os arquivos são criados ou não.

$ Bash SQ1.Bash
$ ls

Saída:
A saída a seguir aparecerá após a execução dos comandos acima.

Exemplos de loop com intervalo:

A alternativa do comando 'seq' é um intervalo. Você pode usar o alcance para o loop para gerar a sequência de números como 'seq'. A expressão do alcance é definida usando suportes encaracolados e pontos duplos. A sintaxe da expressão do alcance é mostrada abaixo.

Sintaxe:

Start… pare [… incremento]

Aqui, o valor do Começar e Parar pode ser qualquer número ou caráter positivo. Esses valores são obrigatórios para definir a expressão do alcance e separados por pontos duplos. O valor do Incremento pode ser qualquer número inteiro positivo ou negativo, e é opcional. Este valor é definido após o Parar valor com pontos duplos. Diferentes usos da expressão de alcance foram mostrados nos exemplos a seguir.

Exemplo 7: Usando o intervalo com valores de partida e parada

Crie um arquivo bash chamado “SQ2.Bash”Com o seguinte código. O loop iterará por 5 vezes e imprimirá a raiz quadrada de cada número em cada iteração.

#!/BIN/BASH
# Gere a série de números de 1 a 5
para n em 1… 5
fazer
# Calcule a raiz quadrada
((resultado = n*n))
# Imprima o valor quadrado
eco $ n square = $ resultado
feito

Execute o seguinte comando para executar o script acima.

$ Bash SQ2.Bash

Saída:
A saída a seguir aparecerá após a execução do script.

Exemplo 8: Usando intervalo com valor de incremento positivo

Por padrão, o número é incremento em um em cada etapa de um intervalo como seq. Você também pode alterar o valor de incremento no intervalo. Escreva o código a seguir em um arquivo bash chamado “SQ3.Bash““. O loop for no script irá itera 5 vezes; Cada etapa é incrementada em 2 e imprima todos os números ímpares entre 1 a 10.

#!/BIN/BASH
eco "todos os números ímpares de 1 a 10 são"
# Gere números ímpares de 1 a 10
para eu em 1… 10… 2
fazer
# Imprima o valor
eco $ i;
feito

Execute o seguinte comando para executar o script acima.

$ Bash SQ3.Bash

Saída:

A saída a seguir aparecerá após a execução do script.

Exemplo 9: Usando o intervalo com zero líder

A sequência de números com zero líder pode ser gerada usando o intervalo também. Crie um arquivo bash chamado SEQ4.Bash com o script a seguir para gerar cinco números seqüenciais com zero líder de 1 a 5 adicionando a string 'id-' na frente de cada número.

#!/BIN/BASH
eco "Gere valores de identificação:"
# Defina o valor inicial do intervalo com zero líder
para i em 01… 5
fazer
# Imprima o valor com 'id-'
eco "id- $ i"
feito

Execute o seguinte comando para executar o script acima.

$ Bash SQ4.Bash

Saída:
A saída a seguir aparecerá após a execução do script.

Exemplo-10: Usando intervalo com valor de incremento negativo

Crie um arquivo bash chamado SEQ5.Bash com o script a seguir para gerar seis números seqüenciais em ordem decrescente a partir de 10 e diminuir em 2 em cada etapa.

#!/BIN/BASH
eco "Gere números pares em ordem decrescente:"
# Defina o valor inicial do intervalo com um valor de incremento negativo
para i em 10… 0… -2
fazer
# Imprima o valor com 'id-'
eco "o valor é $ i"
feito

Execute o seguinte comando para executar o script acima.

$ Bash SQ5.Bash

Saída:
A saída a seguir aparecerá após a execução do script.

Exemplo-11: gerar números seqüenciais com valores de caracteres e números

Crie um arquivo bash chamado SEQ6.Bash com o script a seguir para gerar saída com base em dois valores de faixa. O loop externo gerará três caracteres de A a C, e o loop interno gerará três números de 1 a 3.

#!/BIN/BASH
eco "A série seqüencial com alfabeto e número:"
# Defina o intervalo com alfabetos
Para Val1 em a… c
fazer
# Defina o intervalo com números
Para Val2 em 01… 3
fazer
# Imprima o valor conctenhando o alfabeto e o número
eco $ val1 $ val2
feito
feito

Execute o seguinte comando para executar o script acima.

$ Bash SQ6.Bash

Saída:
A saída a seguir aparecerá após a execução do script.

Exemplo-12: Uso do alcance com prefixo e sufixo

Crie um arquivo bash chamado SEQ7.Bash com o script a seguir para gerar 5 nomes de arquivos adicionando prefixo e sufixo com a gama de números. No roteiro, 'perfil'é o valor do prefixo e'.png'é o valor do sufixo.

#!/BIN/BASH
eco "As séries de nomes de arquivos são:"
# Gere cinco nomes de arquivos com a extensão 'PNG'
para nome no perfil 1… 5.png; fazer
# Imprima o nome do arquivo
eco "nome do arquivo: $ name"
feito

Execute o seguinte comando para executar o script acima.

$ Bash SQ7.Bash

Saída:
A saída a seguir aparecerá após a execução do script.

Conclusão:

Duas maneiras de gerar a sequência de números foram mostradas neste tutorial usando vários exemplos. Uma maneira é o comando 'seq', e outra maneira é usar o alcance para o loop. Os usuários do Bash poderão gerar a sequência de números com eficiência depois de praticar os exemplos deste tutorial.