Date: 11 Aug 2003 18:11:28 -0400 From: Matthew Graybosch <matthew@starbreaker.net> To: FreeBSD Questions <freebsd-questions@freebsd.org> Subject: A little Bash script to help you. Message-ID: <1060639888.14212.35.camel@christabel.starbreaker.net> In-Reply-To: <3F380F5D.6020904@rbcmail.ru> References: <3F380F5D.6020904@rbcmail.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2003-08-11 at 17:49, Constantine wrote: > Hello! > > I am writing a script, which involves unzipping some files. I would have > to unzip 4 different zip-files from some directory, and I would need to > unzip them to the directory, which would have the same name in it as the > original zip-file, i.e. I would like to run something like "ls *.zip", > have each file name recorded in some variable, and do a loop like "unzip > $filename[$i] -d $filename[$i].unzipped/". Can someone help me with the > code? How can I put the results of a command to a variable? The following assumes you have the bash port installed. Just change the ARCHIVE_DIR variable to the full path of the directory in which you have your zip files. Make sure to save this code to a file in "~/bin". I suggest pasting the following code into "~/bin/munzip.sh". Then type "chmod +x ~/bin/munzip.sh", then "rehash", and then "munzip.sh". ************************************************************** #!/usr/bin/env bash ARCHIVE_DIR="~/archive" cd $ARCHIVE_DIR # you don't need ls *.zip for zip in * do # just for diagnostics echo "$zip" # here's the command you want. unzip "$zip" -d "$zip.unzipped/" done exit 0 ************************************************************** -- Matthew Graybosch http://www.starbreaker.net "If you take a stand on a dead empty hand, never let 'em see your cards." --Savatage
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1060639888.14212.35.camel>