Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: cvp 19 Května 2016, 22:43:33

Název: Získání první proměnné z 12|23|34
Přispěvatel: cvp 19 Května 2016, 22:43:33
Ahojte,
v PHP se tomu říká explode, kdy mohu z proměnné dat 12|23|34 například echo $data[0] získat první číslo 12.

Přes google jsem něco sesmolil, ale stále s chybou Syntax error: redirection unexpected

teplota_data.txt
12|23|34

Kód: [Vybrat]
#!/bin/bash

teplota="$( cut -d ';' -f 1 <<< "$(cat /home/pi/tmp/teplota_data.txt)" )";
echo "$teplota"
Název: Re:Získání první proměnné z 12|23|34
Přispěvatel: Petr Merlin Vaněček 19 Května 2016, 22:46:21
Cest je určitě tuna, ale ...
Kód: [Vybrat]
echo "11|12|13" | awk -F "|" '{ print $1 }'
Název: Re:Získání první proměnné z 12|23|34
Přispěvatel: GdH 20 Května 2016, 03:45:21
Kód: [Vybrat]
teplota="$( cut -d ';' -f 1 <<< "$(cat /home/pi/tmp/teplota_data.txt)" )";
echo "$teplota"

Krom toho, že ti unikají vnořené uvozovky, použil jsi nevhodné přesměrování, které tě donutilo vyrábět další zbytečný příkaz, stačilo < přímo ze souboru. Ale cut umí číst ze souboru sám, stejně jako většina nástrojů, včetně awk.

Kód: [Vybrat]
teplota=$(cut -d"|" -f1 /home/pi/tmp/teplota_data.txt)