[Linux-Biella] bash ed sqlite3: stringa di $x spazi

Paul TT paultt a bilug.linux.it
Lun 16 Feb 2009 13:13:32 CET


Daniele Vallini wrote:
> Il Wed, 04 Feb 2009 17:51:57 +0100
> Paul TT <paultt a bilug.linux.it> ha scritto:
>
>   
>> Daniele Vallini wrote:
>>     
>>> In script bash ed in query sqlite3 vorrei creare stringhe composte di
>>> $x spazi.
>>> Esiste una sintassi adatta a cio'?
>>>
>>>   
>>>       
>> ch'io sappia no
>> userei un for
>>     
>
> Amen, se neppure a te risulta.
> La stringa mi serviva nel modulo fattura cliente per posizionare
> esattamente sulla stessa linea destinatario e destinazione.
> Ho risolto cosi' il problema, non e' elegante ma funziona:
>
> xx="^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^" # stringa di spaziatura
> xcliente=${#cliente}                          # lunghezza della stringa cliente
> ycliente=`expr 35 - $xcliente`                # nr caratteri da aggiungere per arrivare a |
> zcliente=`expr substr $xx 1 $ycliente`        # stringa contenente i caratteri di spaziatura
>
> successivamente sed sostituisce i caratteri temporanei con gli spazi:
>
>  s/\^/ /g
>
> Sono obbligato a questo poiche' altrimenti una stringa con n spazi e'
> semplicemente una stringa vuota ed il tutto non funziona.
>
>   
no
puoi evitare di usare sed se prima del giro reimposti l'IFS, togliendo 
lo spazio dai separatori, per cui puoi usare direttamente la stringa di 
spazi
puoi anche evitare di usare xcliente mettendo direttamente la parte tra 
{} sulla riga di ycliente

-- 
Sai che in tedesco Vo vuol dire Mer?




Maggiori informazioni sulla lista Linux