07-30-2001
Re: re arg list too long
Quote:
Originally posted by vingupta
find . -name ABC/* is not the desired as it works to show all files under ABC directory but we need to get files ABC*,
Use "find . -name ABC\*" instead. The star is escaped this way, so the shell never sees it (the shell is where your error message is coming from).
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hi everyone,
We have a heck of a lot of files in a particular directory and I need to search through all of them to find a list of all files containing particular text strings...one being a date and the other being the name of the report that is printed on the files.....
I've tried the... (6 Replies)
Discussion started by: kingo
6 Replies
2. UNIX for Dummies Questions & Answers
Hi all
I have more than 1000 files in a folder and when ever i use a "compress" or "zcat" command it give error
/bin/zcat: Arg list too long. .
any solution for this :o (3 Replies)
Discussion started by: muneebr
3 Replies
3. UNIX for Advanced & Expert Users
Does anyone have a solution for arg list too long error.
I have got this from the web but I fail to make any sense out of it
Thanks
enc (8 Replies)
Discussion started by: encrypted
8 Replies
4. UNIX for Dummies Questions & Answers
echo dirname/filename* | xargs ls -t
As a substitute doesn't give the results desired when I exceed the buffer size. I still want the files listed in chronological order, unfortunately xargs releases the names piecemeal...does anyone have any ideas? :( (4 Replies)
Discussion started by: CSU_Ram
4 Replies
5. UNIX for Dummies Questions & Answers
hello all
i need some help because i am a unix/linux dummy...i have the following:
DIR1> has 121437 files in it with varying dates going back to early April,
a sub dir DIR1/DIR2> has 55835 files in it
I need to move all files (T*.*) out of DIR1 into DIR2 that are older than today?
Ive been... (2 Replies)
Discussion started by: jamos007
2 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I am trying to perform this task:
tar -cvf tar.newfile ??????.bas
I got error "arg list too long". Is ther any way around? I have about 1500 file need to be tar together.
Thanks in advance (5 Replies)
Discussion started by: jds3
5 Replies
7. UNIX for Dummies Questions & Answers
Hey guys. I have a program written in which i am trying to get the files from one remote machine and transferring the files to another remote machine using SCP.
It works fine for 50 or 60 files but when the files grows to 250 then i get an error message stating "Arg list too long".
#scp -p... (5 Replies)
Discussion started by: chris1234
5 Replies
8. Shell Programming and Scripting
Hi,
Help. I have a file that contains a list of users in a file. I want to cat the content of the file and feed it into sed to a preformated report. The error I got is "ksh: /usr/bin/sed: arg list too long" My method below.
A=`cat FILE1.txt`
B=`echo $A`
sed "s#USERLIST#$B#" FILE2 >... (2 Replies)
Discussion started by: Zenwork
2 Replies
9. Shell Programming and Scripting
Hello,
I'm trying to search through 30,000 files in 1 directory, and am getting the "arg list too long" error. I've searched this forum and have been playing around with xargs and can't get that to work either. I'm using ksh on Solaris.
Here's my original code:
nawk "/Nov 21/{_=2}_&&_--"... (14 Replies)
Discussion started by: Kristin_in_CO
14 Replies
10. UNIX for Dummies Questions & Answers
Hello All,
I am trying to find a file name with .sh exention from a list of .dat files inside a directory.
find /app/folder1/* -name '*.dat'| xargs grep '.sh'
ksh: /usr/local/bin/find: arg list too long
Please help me finding the command.
Thanks (3 Replies)
Discussion started by: tkhan9
3 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)