Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Získání první proměnné z 12|23|34  (Přečteno 4390 krát)

cvp

  • Aktivní člen
  • *
  • Příspěvků: 211
Získání první proměnné z 12|23|34
« kdy: 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"

Petr Merlin Vaněček

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 5057
    • Lomítkáři
Re:Získání první proměnné z 12|23|34
« Odpověď #1 kdy: 19 Května 2016, 22:46:21 »
Cest je určitě tuna, ale ...
Kód: [Vybrat]
echo "11|12|13" | awk -F "|" '{ print $1 }'
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Získání první proměnné z 12|23|34
« Odpověď #2 kdy: 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)

 

Provoz zaštiťuje spolek OpenAlt.