Portál AbcLinuxu, 1. ledna 2026 17:33
Řešení dotazu:
bash, /usr/bin/printf (printf(1)) je dobrým nástrojem pro formátovaný výstup, tak Vás to třeba nasměruje.
#!/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
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.