Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Nov 2007 11:10:20 +0000
From:      Vince <jhary@unsane.co.uk>
To:        =?ISO-8859-1?Q?Sd=E4vtaker?= <sdavtaker@gmail.com>
Cc:        questions@freebsd.org
Subject:   Re: problems using ls with for_in (SH)
Message-ID:  <4734401C.4040508@unsane.co.uk>
In-Reply-To: <4733CAB4.2080508@gmail.com>
References:  <4733CAB4.2080508@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Sdävtaker wrote:
> Im trying to get a file with all the md5 hashes of one directory.
> My initial script was this:
> #!/bin/sh
> for file in $(ls)
> do
>        echo $file
>        md5 $file
> done
> 
> The problem is with the file names who contains "whitespaces" becouse
> the for_in passed each word as one iteration and not the full filename,
> I'd tried using -B in ls, but doesnt help.
> Any idea what can i do?
> Thanks!
> Sdäv
> 

Use Quoting ?
 (jhary@prawn)$ls
another file with spaces  file with space           no-spaces-here
[11:08:54:/usr/home/jhary/tmp/spacetmp]
(jhary@prawn)$for file in * ; do echo "$file" ; md5 "$file" ;  done
another file with spaces
MD5 (another file with spaces) = 40393f6dba09f89ef5cf32c3aec61f32
file with space
MD5 (file with space) = 1de1a1be1433df2d7af11d839db3b0c1
no-spaces-here
MD5 (no-spaces-here) = aaac9a687bd4ea9d2fc487e9cfb345f7


works for me.


Vince
> 
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4734401C.4040508>