Articles of array

Array syntax con AWK

Estoy desconcertado por la respuesta de estos guiones. Prueba 1: awk '{line_arr[$0] } END {for (line in line_arr) print line}' text_file Salida: 1 2 3 4 Prueba 2: awk '{line_arr[$0] } END {for (line in line_arr) print line}' text_file Salida: is some text. Hello. Here Lots of random text. Contenido del file: $ cat text_file […]

Bash: pasar una matriz a hosts remotos a través de ssh

Escribí un script Bash que inicia session en varios hosts remotos y ejecuta smartctl (desde el package smartmontools ) en los discos definidos en la matriz DISKS . Puedo pasar la matriz a los hosts remotos, pero la secuencia de commands simplemente echos el primer elemento una y otra vez. Parece que trata la matriz […]

¿Por qué no puedo eliminar estos elementos de la matriz en jq?

Dado el command: echo "[\"tag1\", \"[[Super\", \"Duppa\", \"Database\", \"Analyst]]\", \"tag2\"]" | jq -f ~/somefilter.jq Y el filter: def hasOne(x): x | (startswith("[[") or endswith("]]") ); def looparr(r): [ r | keys[] as $i | r[$i] | select(hasOne(.)) | $i ] ; . as $arrray | $arrray |= .+ [ . as $arr | looparr($arr) | […]

¿Por qué mi arreglo de bash siempre es de longitud 1 cuando me divido?

# Create array arrayLong=(one two three four) for element in "${arrayLong[@]}" do echo "$element" done echo "${#arrayLong[@]}" Salida: one two three four 4 Entonces: # Make new array with only first half of values arrayShort=("${arrayLong[@]:0:2}") for element in "${arrayShort[@]}" do echo "$element" done echo "${#arrayShort[@]}" El resultado de esto es one two 1 ¿Por qué […]

list el file más antiguo en directorys en un bucle

Tengo un set de files en una estructura como esa; regions ├── ap-northeast-1 │ └── sg-66497903 │ ├── sg-66497903-2017-10-03-Tue-12.39.json │ ├── sg-66497903-2017-10-03-Tue-12.42.json │ ├── sg-66497903-2017-10-03-Tue-12.49.json │ ├── sg-66497903-2017-10-03-Tue-12.53.json │ └── sg-66497903-2017-10-03-Tue-13.12.json ├── ap-northeast-2 │ └── sg-824282eb │ ├── sg-824282eb-2017-10-03-Tue-12.39.json │ ├── sg-824282eb-2017-10-03-Tue-12.42.json │ ├── sg-824282eb-2017-10-03-Tue-12.49.json │ ├── sg-824282eb-2017-10-03-Tue-12.53.json │ └── sg-824282eb-2017-10-03-Tue-13.12.json ├── ap-south-1 │ └── […]

Arreglos de estilo Zsh con Bash

¿Tiene Bash una forma de acceder a matrices similares a Zsh, algo así como $ foo=(dog cat mouse) $ echo $foo[1] cat en lugar de $ echo ${foo[1]} tal vez usando algún ajuste shopt ?

Empuje hacia la matriz con find exec

Quiero iterar sobre todos los files encontrados por find y agregar cada uno a una matriz. Esto es lo que tengo hasta ahora: myarray=() find . -name '*.php' -exec myarray\+=\({}\) \; echo "${myarray[@]}" En cambio, produce mucho de esto: find: myarray+=(./somedir/somefile.php): No such file or directory ¿Hay alguna manera de hacer que esto funcione con […]

acceder a los elementos en la matriz de cadenas – @ símbolo

He creado una matriz (3 elementos) y cada elemento contiene una cadena delimitada por comas. La matriz se creó leyendo un file línea por línea: el file contiene campos generados desde una database. He escrito el código a continuación para iterar a través de cada elemento de cadena, como si fuera demasiado una matriz. Funciona, […]

encontrar duplicado en primera, segunda columna y sumr numbers en tercera columna

Tengo esta input: Fnetworking apples 20 Susy oranges 5 Mark watermellons 12 Robert pears 4 Robert oranges 17 Terry oranges 9 Lisa peaches 7 Susy oranges 12 Mark grapes 39 Anne mangoes 7 Greg pineapples 3 Oliver rockmellons 2 Betty limes 14 y quiero resultados como este: Anne: mangoes 7 Oliver: rockmellons 2 Greg: pineapples […]

Contando una matriz tiene el doble de la cantidad esperada de elementos

¿Por qué bash parece contar las palabras en una matriz en lugar de la cantidad de elementos? touch '1 networking' '2 orange' '3 yellow' # Three filenames, each of two words files=( * ) # Get the set of files echo "#files is ${#files}" for (( i=0; i <= ${#files}; i++ )) do printf "%d\t%s\n" […]