El comando básico de Linux -seq imprime una secuencia de números

Editor básico de secuencias de comando-sed de Linux

prefacio

El comando seq generalmente se usa para imprimir una cadena de números regulares y, a menudo, se usa junto con otros comandos. Echemos un vistazo a su uso.

1. Introducción de comandos

Vea el significado del comando seq en el documento doc

NAME
       seq - print a sequence of numbers
DESCRIPTION
       Print numbers from FIRST to LAST, in steps of INCREMENT.

       Mandatory arguments to long options are mandatory for short options too.

El comando seq se usa para imprimir una secuencia de números, que se usa para especificar el incremento para imprimir el número desde el primer número hasta el último número, es decir, para generar todos los números enteros desde un cierto número hasta otro número, y para modificar el formato, el ancho y el separador del control de enteros.

2. Formato gramatical

El formato gramatical de seq es seq [parámetro] valor

SYNOPSIS
       seq [OPTION]... LAST
       seq [OPTION]... FIRST LAST
       seq [OPTION]... FIRST INCREMENT LAST

3. Parámetros comunes

Verifique estos parámetros en el documento, y estos parámetros se usan más comúnmente, como los parámetros de ayuda y versión, cada comando los tendrá, y los significados específicos no se enumerarán aquí. De hecho, es para ver la información de ayuda y la versión. etcétera.

       -f, --format=FORMAT
              use printf style floating-point FORMAT

       -s, --separator=STRING
              use STRING to separate numbers (default: \n)

       -w, --equal-width
              equalize width by padding with leading zeroes

       --help display this help and exit

       --version
              output version information and exit
opciones de comando significado
-F Formato de punto flotante usando printf
-s Use una cadena para separar números sin especificar un carácter de nueva línea de forma predeterminada
-w Igualar el ancho por 0 inicial

Aquí se menciona el formato de coma flotante de printf De hecho, hay tres formatos para números de coma flotante, a saber, %e, %f y %g.

%e se expresa en notación científica. Solo hay un dígito a la izquierda del punto decimal, y 6 dígitos están reservados a la derecha del punto decimal por defecto. Después del punto decimal está el símbolo e, que es la potencia de 10 del entero.

Pongamos un ejemplo para entender, hay un número 123456, luego calculado en notación científica, se escribe como:

123456== 1.23456 * 10^5 == 1.23456e5   

%f requiere 6 lugares decimales a la derecha del punto decimal

Por ejemplo, si hay un valor de 3.14, %f conserva 6 decimales por defecto, y si el decimal no es suficiente, se llenará con 0

3.14 = 3.140000

%f también puede mantener solo dos lugares decimales, debe especificar cuántos lugares decimales debe mantener, lo que
%0.2fsignifica mantener 2 lugares decimales, por supuesto, también puede escribir así %.2f, sin agregar el 0 antes del punto decimal

%g se expresará automáticamente en forma exponencial cuando el número sea muy grande o pequeño, lo cual es más flexible y más legible, y generalmente se usa para números enteros.

seq -s ' '  -f '%02g' 1 10
01 02 03 04 05 06 07 08 09 10

4. Ejemplos de referencia

4.1 Imprimir números enteros

Un valor después de seq es imprimir todos los valores enteros dentro de un número determinado

[root@VM-12-17-centos ~]# seq 10
1
2
3
4
5
6
7
8
9
10

Hay dos valores que son enteros del primero al último

[root@VM-12-17-centos ~]# seq 15 20
15
16
17
18
19
20

El formato actual se muestra verticalmente, por lo que parece que ocupa mucho espacio en la pantalla. ¿Aún recuerdas por qué se imprime verticalmente? -s está separado por \n saltos de línea de forma predeterminada, y puedes usar el parámetro -s para especificar el separador.

[root@VM-12-17-centos ~]# seq -s ' ' 1 100 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

4.2 Usar seq con otros comandos

Por ejemplo, si queremos crear 10 archivos de directorio, podemos usar el comando seq combinado con mkdir para usar

[root@VM-12-17-centos 2023-04-13]# seq -f 'dir%02g' 1 10 | xargs mkdir
[root@VM-12-17-centos 2023-04-13]# ls
dir01  dir02  dir03  dir04  dir05  dir06  dir07  dir08  dir09  dir10

De esta forma, se han creado los 10 archivos de directorio;
los efectos anteriores también se pueden lograr con scripts

[root@VM-12-17-centos 2023-04-13]# for i in `seq -f 'dir%02g' 11 20`;do mkdir /root/2023-04-13/$i;done
[root@VM-12-17-centos 2023-04-13]# ls
dir01  dir03  dir05  dir07  dir09  dir11  dir13  dir15  dir17  dir19
dir02  dir04  dir06  dir08  dir10  dir12  dir14  dir16  dir18  dir20

El resultado es el mismo, por lo que en el shell hay muchas formas de lograr un resultado determinado.

4.3 Cómo usar el parámetro -w de seq

Todavía es difícil entender el significado del parámetro -w cuando se ve en el documento Después de practicarlo, encontrará que -w principalmente hace que el ancho de cada número sea consistente.
Si es 1-9, entonces usar el parámetro -w no hace ninguna diferencia

[root@VM-12-17-centos 2023-04-13]# seq -s ' ' 1 9
1 2 3 4 5 6 7 8 9
[root@VM-12-17-centos 2023-04-13]# seq -s ' ' -w 1 9
1 2 3 4 5 6 7 8 9

Cuando el valor impreso tiene un número con 2 dígitos, los demás números se ajustarán automáticamente a dos dígitos y se agregará 0 delante del valor para garantizar que el ancho de cada valor sea de 2 dígitos.

[root@VM-12-17-centos 2023-04-13]# seq -s ' ' 1 10 
1 2 3 4 5 6 7 8 9 10
[root@VM-12-17-centos 2023-04-13]# seq -s ' ' -w 1 10 
01 02 03 04 05 06 07 08 09 10

Resumir

El comando seq es un comando de uso común, que se usa para imprimir una serie de contenido numérico secuencial. Si cree que el contenido anterior está bien, ¡le puede gustar para apoyarlo!
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/rhn_111/article/details/130128713
Recomendado
Clasificación