Portál AbcLinuxu, 12. května 2025 12:33

Dotaz: Proměnná ve dvou sloupcích

24.5.2010 22:57 goryllaz
Proměnná ve dvou sloupcích
Přečteno: 143×
Odpovědět | Admin
Dobrý den potřebuji vypsat v bashi dvě proměnné o několika řádcích ale aby měla každá svůj sloupec. Dá se to nějak udělat?

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

24.5.2010 23:25 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
Rozbalit Rozbalit vše Re: Proměnná ve dvou sloupcích
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nějak si pod tím dotazem nedokáži dost dobře nic představit, ale byť to není přímo bash, /usr/bin/printf (printf(1)) je dobrým nástrojem pro formátovaný výstup, tak Vás to třeba nasměruje.
http://prirucka.ujc.cas.cz/?ref=785&id=790.
25.5.2010 15:26 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
Rozbalit Rozbalit vše Re: Proměnná ve dvou sloupcích
Odpovědět | | Sbalit | Link | Blokovat | Admin
Když bash, tak bash :), je to po krocích a lze to udělat různými způsoby:
#!/bin/bash

IN_FIRST_VAR="`echo -e \"Douglas\nPepa\nMr. Franta\nKubrt\nHlustmisihak\"`"
IN_SECOND_VAR="`echo -e \"Adams\nMinarik\nMucha\nGumička\nNor Phdr.\nJmeno nemaje\"`"
FIRST_WIDTH=30

OldIFS=$IFS
IFS='
'
declare -a FIRST_VAR=($IN_FIRST_VAR)
declare -a SECOND_VAR=($IN_SECOND_VAR)
IFS=$OldIFS
FrstCnt=${#FIRST_VAR[@]}
SndCnt=${#SECOND_VAR[@]}

if [ $FrstCnt -gt $SndCnt ]; then
  Cnt=$FrstCnt
else
  Cnt=$SndCnt
fi

i=0
while [ $i -lt  $Cnt ]; do
  str=${FIRST_VAR[$i]}
  while [ ${#str} -lt ${FIRST_WIDTH} ]; do
    str="$str "
  done
  echo -e "$str | ${SECOND_VAR[$i]}"
  let i+=1
done
To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.