02-06-2007
Quote:
Originally Posted by crabbie_upk
find ./ *.* > alldirnfiles.txt
A perfect example of how not to use the find command, this could be a CPU killer.
In case there are several 1000s of files and subdirectories in the directory "./" with a . (dot) in their name, the find will be executed will those files and subdirectories as argument.
This because the *'s are interpreted (expanded) by the shell prior to executing the find command.
10 More Discussions You Might Find Interesting
1. HP-UX
I'm trying recall how to set up a script to have mailx read a mailing list of people to recieve a message.
I had set up the script to have every name inside but the list could grow and/or change.
can any one help?
I'm using HPUX 11 on a rp7410. (6 Replies)
Discussion started by: rfmurphy_6
6 Replies
2. Shell Programming and Scripting
I have a file that contains a list of names.
I need a loop that creates user accounts to all the names in the list
where username = names in file
password = username
Another question: how can i validate that a particular var is of 6 characters length
I need an if statement that will... (8 Replies)
Discussion started by: Laila Saif
8 Replies
3. Shell Programming and Scripting
Hi folks,
I have the following function ,which generates menu for installation type:
select_install_type()
{
echo
echo ========================================
echo Please select the type of installation:
echo ========================================
... (8 Replies)
Discussion started by: nir_s
8 Replies
4. Shell Programming and Scripting
Hi All,
I need to create a file which contains the list of all the files present in that directory.
e.g.,
ls /export/home/user/*.dat > list_file.dat
but what i am getting is:
$ ls /export/home/user/*.dat > list_file.dat
/export/home/user/*.dat: No such file or directory
But I have... (1 Reply)
Discussion started by: pranavagarwal
1 Replies
5. Shell Programming and Scripting
Hi all,
I am trying to create a file which has one or more ranges based on a file containing a long list. The problem is that the file which has this list is not continuous and is broken in many places. I will try to illustrate by an example:
The List File:
1
2
3
4
5
6
9
10
11
12... (5 Replies)
Discussion started by: run_time_error
5 Replies
6. UNIX for Dummies Questions & Answers
Hi All,
I would like to do a loop on all the files with extension .out in my directory this files should be sorted alphabetically.
Then I need to assign to each of them a progressive ID of three digits (maybe in HEX format?).
First I tried to list manually the files as
ARRAY=(
A-001.out ... (5 Replies)
Discussion started by: f_o_555
5 Replies
7. UNIX for Dummies Questions & Answers
I have a list below, how can I have things separated nicely in columns
mv browseDir.tcsh browseDir.csh
mv checkSRDist.tcsh checkSRDist.csh
mv create-data-tinv.tcsh create-data-tinv.csh
mv createDocs.tcsh createDocs.csh
mv createMisfit.tcsh createMisfit.csh
mv createModel.tcsh... (4 Replies)
Discussion started by: kristinu
4 Replies
8. UNIX for Dummies Questions & Answers
I have a string containing fields separated by space
Example
set sr="Fred Ted Joe Peter Paul Jean Chris Tim Tex"
and want to display it in a column format, for example to a maximum
of a window of 100 characters
And hopefully display some thing like
Fred Ted Joe ... (3 Replies)
Discussion started by: kristinu
3 Replies
9. UNIX for Dummies Questions & Answers
Hi all, looking for some help here. I'm what you'd call a dirty programmer. my shell scripts might be ugly, but they (usually) function...
Say I have a single column text file with a list of dates (yyyymmdd) that represent the elevation of a point on that date (I work with land subsidence, so... (2 Replies)
Discussion started by: jbrandt1979
2 Replies
10. UNIX for Dummies Questions & Answers
how do i create a list of every process running on my system and place it into a file lets say p1.txt (1 Reply)
Discussion started by: richiestank
1 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)