Come posso analizzare l'output JSON sulla shell? Ad esempio, Amazon Web Services fornisce una CLI per recuperare lo stato delle tue istanze: $ aws ec2 describe-instances <my_instance_id> Ma il comando restituisce una stringa JSON. L'output di quel comando è simile al seguente: $ aws ec2 describe-instances x12345 { "Reservations" : …
So di poterlo fare in Bash: wc -l <<< "${string_variable}" Fondamentalmente, tutto quello che ho trovato riguardava l' <<<operatore Bash. Ma nella shell POSIX, <<<non è definito e non sono riuscito a trovare un approccio alternativo per ore. Sono abbastanza sicuro che ci sia una soluzione semplice a questo, ma …
Ho un sacco di file e voglio trovare quale contiene linee sequenziali che iniziano con una determinata stringa. Ad esempio per il seguente file: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Cyyyyyyyyy Czzzzzzzzz Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd Ceeeeee C'è più di una riga che inizia con 'C', quindi voglio che questo file …
Voglio agire su un elenco di sottodirectory in una directory. Ritenere: for x in x86-headers/*/C/populate.sh; do echo $x; done Questo da x86-headers/elf/C/populate.sh x86-headers/gl/C/populate.sh x86-headers/gmp/C/populate.sh x86-headers/gnome2/C/populate.sh x86-headers/gtk2/C/populate.sh x86-headers/jni/C/populate.sh x86-headers/libc/C/populate.sh Ma voglio valori che corrisponde alla seconda parte del percorso, elf, gl, ecc so come spogliano leader x86-headers. for x in x86-headers/*/C/populate.sh; …
Sto lavorando a uno script e devo creare il tarcomando in modo dinamico. Ecco due esempi per illustrare cosa sto cercando di fare: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar …
Il mio dashscript accetta un parametro sotto forma di hostname:port, ovvero: myhost:1234 Considerando che il porto è facoltativo, cioè: myhost Devo leggere l'host e la porta in variabili separate. Nel primo caso, posso fare: HOST=${1%%:*} PORT=${1##*:} Ma ciò non funziona nel secondo caso, quando la porta è stata omessa; echo …
Sto cercando un elegante one-liner (ad es. awk) Che accorcerà una stringa di un percorso Unix usando il primo carattere di ciascun livello genitore / intermedio, ma il nome di base completo. Più facile da mostrare con esempi: /path/to/file → /p/t/file /tmp → /tmp /foo/bar/.config/wizard_magic → /f/b/./wizard_magic /foo/bar/.config/wizard_magic→ /f/b/.c/wizard_magic Alla …
Ho una stringa che è il risultato di un'operazione su cui non ho alcun controllo. Quando stampo questa variabile usando echo, ottengo: echo $myvar hello Tuttavia, quando lo faccio if [ $myvar = "hello" ]; then echo they are equal else echo they are not equal fi Capisco sempre che …
Ho letto alcune altre domande sulla manipolazione delle stringhe bash del piping ma sembrano essere applicazioni specializzate. In sostanza, c'è un modo per rendere il seguito più semplice? invece di $ string='hello world'; string2="${string// /_}"; echo "${string2^^}" HELLO_WORLD qualcosa di simile a $ echo 'hello world' | $"{-// /_}" | …
Voglio dividere 'hello'in h e l l oun array usando solo bash, potrei farlo in sed con sed 's/./& /g'ma voglio sapere come dividere una stringa in un array in Bash quando non so quale sarebbe il delimitatore, o il delimitatore è qualsiasi personaggio unico. Non credo di poter usare …
Sto cercando di trovare e sostituire all'interno di un gigantesco dump di database, e non sta facendo quello che penso dovrebbe accadere. Vorrei grep per la mia stringa di destinazione nel file, quindi vedere gli 8 caratteri circostanti (potrebbe essere necessario modificare quel numero, a seconda). Come lo posso fare? …
So che alcune shell accettano questo tipo di test: t() { [[ $var == *$'\n'* ]] && res=yes || res=no printf '%s ' "$res"; } var='ab cd' t var='abcd' t echo in esecuzione: $ bash ./script yes no Qual è l'equivalente funzionante POSIX (trattino) Di seguito è un modo affidabile …
Ho una riga da un file come questo: attempting to create a 512^3 level (with Dirichlet BC) using a 16^3 grid of 32^3 boxes and 800 tasks... Voglio estrarre il 512^3, 16^3, 32^3e 800quattro numeri da esso e assegnarli rispettivamente alle quattro variabili level, grid, boxese tasksper altri usi. Come …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.