Portál AbcLinuxu, 31. října 2025 14:31
function prints {
 echo -en "[ $1                                                                ]"
}
mám texty o různých delkách
prints "dasdsadas sa a asd as dasd a d" výstup z příkazu prints "dasad a dd aadasd a d" výstup z příkazu prints "dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d" výstup z příkazua výsledek je pak
[ dasdsadas sa a asd as dasd a d ] výstup z příkazu [ dasad a dd aadasd a d ] výstup z příkazu [ dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d ] výstup z příkazujenže následující text je na novém řádku a ne na konci, poztřebuji to takto, poradí někdo? Pokud to jde tak mimo použití cyklů s počítáním znaků a doplnováním mezer.
 Díky
 Díky
[ dasdsadas sa a asd as dasd a d ] výstup z příkazu [ dasad a dd aadasd a d ] výstup z příkazu [ dasassasd a dadddd asdaasd a asasd f fdxgh dhdfghadasd a d ] výstup z příkazu
Řešení dotazu:
man console_codes sekce ECMA-48 CSI sequences
            printf
            printf.
printf "[ %-60s ] " "dasad a dd aadasd a d"
 výpisy jsou barevně označené, což mi printf neoumožní...
 výpisy jsou barevně označené, což mi printf neoumožní...
            echo, protlačíte i přes printf (a často snáze).
             
            AAA="aaa sd d ada dad adadsas" echo -en "\r ]" echo -e "\r[ $AAA"
 Což moc nechápu ale je to tak..
 Což moc nechápu ale je to tak..
            Hm, zdá se, že printf ignoruje locales. V tom případě třeba nějak takhle:
function align
{
    local s="$1"
    local w="$2"
    if [ "${#1}" -le "$w" ]; then
        printf "%s%*s" "$s" $[w-${#s}] ""
    else
        echo -n "${s:0:$w}"
    fi
}
Příště zkuste psát své příspěvky trochu srozumitelněji a hlavně konkrétněji. Z věty
To si pro každý řádek nastavit podle počtu znaků v řetězci vypočítat jiné?
by asi jen velmi zkušený jasnovidec poznal, že máte na mysli problémy se zarovnáním na předepsanou šířku, pokud řetězec obsahuje znaky s diakritikou…
Hm, zdá se, že printf ignoruje locales.
To je vlastnost printf(3):
- An optional minimum field width. If the converted value has fewer bytes than the field width, …
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.