Matriz de impresión Bash con nuevas líneas

Matriz de impresión Bash con nuevas líneas
Una matriz es un contenedor que contiene los mismos elementos de tipo de datos, ya sea tipo entero o tipo flotante. Podemos lidiar con las matrices realizando varias operaciones en ellas. Un delima de uso común es romper la matriz e imprimir cada palabra en una nueva línea. Esta característica se discute en el artículo de hoy. Para comprender este concepto, debe acceder a una terminal de Ubuntu para realizar términos relacionados con Bash en Ubuntu. Hemos cubierto el tema de muestras más simples a críticas para la comprensión del usuario.

Ejemplo 1

En este ejemplo, tome una variable y asigne el valor. El valor es una cadena larga. Para tener el resultado de la cadena en nuevas líneas, asignaremos el valor de la variable a una matriz. Para garantizar el número de elementos presentes en la cadena, imprimiremos el número de elementos utilizando un comando respectivo.

S a = "Soy un estudiante. Me gusta la programación "
$ arr = ($ a)
$ echo "arr tiene $ #arr [@] elementos."

Verá que el valor resultante ha mostrado el mensaje con los números de elemento. Donde el signo '#' se usa para contar solo el número de palabras presentes. [@] muestra el número de índice de los elementos de cadena. Y el signo "$" es para la variable.

Para imprimir cada palabra en una nueva línea, necesitamos usar las teclas "%s '\ n". '%s' es leer la cadena hasta el final. Al mismo tiempo, '\ n' mueve las palabras a la siguiente línea. Para mostrar el contenido de la matriz, no usaremos el signo "#". Porque solo trae el número total de los elementos presentes.

$ printf "'%s' \ n" "$ arr [@]"

Puede observar de la salida que cada palabra se muestra en la nueva línea. Y cada palabra se cita con una sola cita porque lo hemos proporcionado en el comando. Esto es opcional para que convierta la cadena sin comillas únicas.

Ejemplo 2

Por lo general, una cadena se divide en una matriz o en palabras únicas usando pestañas y espacios, pero esto generalmente conduce a muchos descansos. Hemos usado otro enfoque aquí, que es el uso de IFS. Este entorno IFS trata de mostrar cómo se rompe una cadena y se convierte en pequeñas matrices. IFS tiene un valor predeterminado de "\ n \ t". Esto significa que el espacio, una nueva línea y una pestaña pueden pasar el valor a la siguiente línea.

En el caso actual, no utilizaremos el valor predeterminado de IFS. Pero en cambio, lo reemplazaremos con un solo carácter de Newline, ifs = $ '\ n'. Entonces, si usa espacio y pestañas, no hará que la cadena se rompa.

Ahora tome tres cuerdas y guárdelos en la variable de cadena. Verá que ya hemos escrito los valores utilizando pestañas a la siguiente línea. Cuando imprime estas cuerdas, formará una sola línea en lugar de tres.

$ str = "Soy un estudiante
Me gusta la programación
Mi idioma favorito es .neto."
$ echo $ str

Ahora es el momento de usar IFS en el comando con el carácter Newline. Al mismo tiempo, asigne los valores de la variable a la matriz. Después de declarar esto, tome una impresión.

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

Puedes ver el resultado. Que muestra que cada cadena se muestra individualmente en una nueva línea. Aquí toda la cadena se trata como una sola palabra.

Una cosa debe tenerse en cuenta aquí: después de que se termina el comando, la configuración predeterminada de IFS se vuelve a aparecer nuevamente.

Ejemplo 3

También podemos limitar los valores de la matriz que se mostrarán en cada nueva línea. Tome una cadena y colóquela en la variable. Ahora conviértalo o guárdelo en la matriz como lo hicimos en nuestros ejemplos anteriores. Y simplemente tome la impresión utilizando el mismo método que se describió anteriormente.

Ahora observe la cadena de entrada. Aquí hemos usado citas dobles sobre la parte del nombre dos veces. Hemos visto que la matriz ha dejado de mostrar en la siguiente línea cada vez que encuentra una parada completa. Aquí se usa una parada completa después de las quotas dobles. Para que cada palabra se mostrará en líneas separadas. El espacio entre las dos palabras se trata como un punto de ruptura.

$ x = (name = ”Ahmad Ali pero". Me gusta leer. "Sujeto favorito = biología")
$ arr = ($ x)
$ printf "%s \ n" "$ arr [@]"

Como la parada completa es después de "Butt", así se detiene la ruptura de la matriz aquí. "I" fue escrito sin ningún espacio entre la parada completa, por lo que está separado de la parada completa.

Considere otro ejemplo de un concepto similar. Entonces la siguiente palabra no se muestra después de la parada completa. Entonces puede ver que solo la primera palabra se muestra como resultado.

$ x = (name = "Shawa". "Sujeto favorito" = "inglés")

Ejemplo 4

Aquí tenemos dos cuerdas. Tener 3 elementos cada uno dentro del paréntesis.

$ array1 = (durazno de plátano de manzana)
$ array2 = (cereza de mango naranja)

Entonces necesitamos mostrar el contenido de ambas cuerdas. Declarar una función. Aquí, utilizamos la palabra clave "typeset" y luego asignamos una matriz a una variable y otras matrices a otra variable. Ahora podemos imprimir ambas matrices respectivamente.

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

Ahora para imprimir la función, usaremos el nombre de la función con ambos nombres de cadenas como se declaró anteriormente.

$ A Array1 Array2

Es visible desde el resultado que cada palabra de ambas matrices se muestra en una nueva línea.

Ejemplo 5

Aquí se declara una matriz con tres elementos. Para separarlos en nuevas líneas, utilizamos una tubería y un espacio citado con doble cotas. Cada valor de la matriz del índice respectivo actúa como entrada para el comando después de la tubería.

$ array = (Linux Unix PostgreSQL)
$ echo $ array [*] | tr "" "\ n"

Así es como funciona el espacio para mostrar cada palabra de una matriz en una nueva línea.

Ejemplo 6

Como ya sabemos, el funcionamiento de "\ n" en cualquier comando cambia las palabras completas después de la siguiente línea. Aquí hay un ejemplo simple para elaborar este concepto básico. Cada vez que usamos "\" con ""n"" en cualquier lugar de la oración, conduce a la siguiente línea.

$ printf ""%b \ n"" ""Todo lo que brilla es \ no oro""

Entonces la oración se reduce a la mitad y se desplaza a la siguiente línea. Avanzando hacia el siguiente ejemplo, se reemplaza ""%b \ n"". Aquí también se usa una constante ""-e"" en el comando.

$ echo -e ""Hola mundo! Soy nuevo aquí""

Entonces las palabras después de ""\ n"" se cambian a la siguiente línea.

Ejemplo 7

Hemos usado un archivo bash aquí. Es un programa simple. El propósito es mostrar la metodología de impresión utilizada aquí. Es un ""para bucle"". Cada vez que imprimimos una matriz a través de un bucle, esto también conduce a la rotura de la matriz en palabras separadas en nuevas líneas.

Para la palabra en $ a
Hacer
Echo $ Word
hecho

Ahora tomaremos impresiones desde el comando de un archivo.

Conclusión

Hay varias formas de alinear sus datos de matriz en las líneas alternativas en lugar de mostrarlos en una sola línea. Puede usar cualquiera de las opciones dadas en sus códigos para que sean efectivos.

"