Hi ,
I want to zip files present in the directories listed under a parent directory without zipping the directory itself
You haven't told us which OS you are using:
Notice, that some versions of the find-command do not allow for multiple instances of the {}-macro and because i do not know which one you are using you will have to find out if yours does or doesn't. In the latter case put the zip-command into a small script to which you pass the {} as argument and call that from the find-command.
Hello all,
I have files at /var/dir1/dir2/fil1.log etc.,.
dir2 is symlinked to /export/xxx/dir3
I am trying to monitor the disk space of the mount where these log files are present.
How do I determine dynamically the actual directory of the log files and corresponding mount when I use df... (3 Replies)
Hi,
i have more than 300 tar files in directory and i want to zip all tar files to single file.
could anybody tell me the command since i know how to do zip for single tar file:
bash-3.00$gzip 2008_11_10.tar
bash-3.00$ pwd
/oracle1/archivebackup
in this directory i have lot files... (2 Replies)
Hiya,
I've been plugging away at this script and I cant get it to behave as I need.
first off it fails to adhere to the conditions of the file limit, and zips the directory regardless of the file count and secondly, but less important it zips up the entire path not just the directory I'm... (2 Replies)
Hi,
I am having some problem with a shell script which zip some files. For zipping I have used the following command:
find . -name "Test_*" -mtime 0 | zip Test_$(date +"%Y%m%d") -@
I have kept the script in /home/abc directory. It is creating the zip file within the same directory where i... (2 Replies)
I have a folder, and in this folder, there are about 197 folders.
Resources
a
files and folders
b
files and folders
Like that. I need to make a zip with files and folders in them with the name the same as the parent folder. so.
a.zip
files and folders
b.zip
files and... (4 Replies)
Hello everyone,
I am trying to make a script in KSH that will zip an entire directory but leave out one file in that directory. I then need to send that zipped directory to another UNIX box. I am new to UNIX and would appreciate a good template to study from. (3 Replies)
Hi folks,
I have an query that is let say i have to search in an xml file an tag that is <abcdef> now this xml file is at /opt/usr/local so one fastest way to achieve this is go to this location by cd /opt/usr/local and then do grep like this... grep -i abcdef but for this I must know the... (4 Replies)
Hi Folks,
I have a directory in unix that is /usr/local/pos contain the folowing directoreis ..that is
dir1
dir2
dir3
now I want to delete only dir2 please advise how to remove the directory dir 2 ..that is rm command and how to use it , and second if I want to zip the dir3 please... (1 Reply)
Hi Folks,
I have logs at the following location
cd /out/app/logs/
now that logs directory contain different types of logs now sometimes i need to
do disk clean up activity so i need to zipped the logs can you please advise
any command by which all the logs created in this directory are... (2 Replies)
Discussion started by: punpun66
2 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS --debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.16.3 2010-06-11 SHELL-QUOTE(1)