Mellanslag i vaiabler...

Anders Troback freebsd at troback.com
Wed Jun 20 14:11:41 CEST 2007


On 20 Jun 2007 11:40:21 +0200
Rasmus Kaj <kaj at kth.se> wrote:

> >>>>> "AT" == Anders Troback <freebsd at troback.com> writes:
> 
>  AT> Mitt problem är att filen ligger i mappar som har "mellanslag" i
>  AT> sökvägen vilket inte blir så bra i mitt script!
> 
>  AT> Jag försöker med:
> 
>  AT> file_list=`find /home -type f -name prefs.js`
>  AT> echo $file_list
> 
> Det skulle nog räcka med att sätta vanliga dubbelfnutta utanför
> bakåtfnuttarna.  Men då har du alla machande filnamn separerade med
> mellanslag i den variabeln, och hur vet du då hur stor bit av
> variabeln som är ett filnamn?
> 
> Måste du ha filnamnen i en variabel?  Jag skulle göra:
> 
> find /home -type f -name prefs.js -print0 | xargs -0 dostuff
> 
> ... där dostuff är ett kommando som tar (ett antal) filnamn som
> parametrar.  Då blir det rätt.
> 

Jag _måste_ väll inte men jag tyckte det skulle vara praktisk att ha
det så för jag vill först titta efter en rad och om inte den finns så
ska den lägga till den och då blir det (när jag gör det iaf) ganska så
mycket på punkten "dostuff"!

Fick ett svar utanför listan av Moj:

>Det jag brukar göra är...
>
>find /home -type f -name prefs.js |
>while read i; do
>  echo $i
>done
>
>Då får du hela raden i $i. Byt sedan ut echo $i mot vad det är du
>behöver göra...

och det verkar smart men...funkar inte:

Invalid null command.

blir svaret!


-- 
Anders Trobäck
http://www.troback.com/
============================================
Windows: "Where do you want to go today?"
Linux: "Where do you want to go tomorrow?"
FreeBSD: "Are you guys coming, or what?"
--------------------------------------------


More information about the BUS mailing list