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

Přihlašte se svým uživatelským jménem a heslem.
World of Warcraft

Novinky: Školení nejen k OS Ubuntu pro širokou veřejnost, více informací zde.

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

cvp

  • Člen
  • **
  • Příspěvků: 191
  • Karma: +1/-1
    • Zobrazit profil
Získání první proměnné z 12|23|34
« kdy: 19 Květen 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ů: 4938
  • Karma: +347/-11
    • Zobrazit profil
    • Lomítkáři
Re:Získání první proměnné z 12|23|34
« Odpověď #1 kdy: 19 Květen 2016, 22:46:21 »
Cest je určitě tuna, ale ...
Kód: [Vybrat]
echo "11|12|13" | awk -F "|" '{ print $1 }'
Registered Linux user #421281
Stiskni CTRL + W ...
80% mozku tvoří kapalina ... u některých brzdová

GdH

  • Moderátor
  • Závislák
  • *****
  • Příspěvků: 3010
  • Karma: +480/-17
    • Zobrazit profil
    • GdH-Notes
Re:Získání první proměnné z 12|23|34
« Odpověď #2 kdy: 20 Květen 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)