: [: too many arguments in for -f in if


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting : [: too many arguments in for -f in if
# 1  
Old 07-12-2011
: [: too many arguments in for -f in if

Hi Experts ,

I have following code
Code:
if [ -f /a/b/c/d/e/K*-*-*-*.s ]; then
mv path /filename  newdirpath
echo "K*  files moved successfully to newdirpath \n"
else
echo "K*  files DID NOT moved successfully to newdirpath \n"
fi

I am getting
Code:
"echo "K*  files DID NOT moved successfully to newdirpath \n"
scriptpath/scriptname.sh : [: too many arguments

Please help.

Thanks,
A

Last edited by Franklin52; 07-12-2011 at 04:50 AM.. Reason: Please use code tags for code and data samples, thank you
# 2  
Old 07-12-2011
execute the below command and confirm me, that you want to move those files only ?

Code:
 
for i in /a/b/c/d/e/K*-*-*-*.s; do echo $i; done

# 3  
Old 07-12-2011
Yes , i first want to confirm if K*-*-*-*.s files exist in /a/b/c/d/e path ...if exists i want to mv them to some other path ....
so I am using -f option to check the existance and then mving in one go using mv command ...
Is there any better option the check existance of file in particular dir ...? as for -f I am getting : [: too many arguments error ...

Thanks,
A

Quote:
Originally Posted by itkamaraj
execute the below command and confirm me, that you want to move those files only ?

Code:
 
for i in /a/b/c/d/e/K*-*-*-*.s; do echo $i; done

# 4  
Old 07-12-2011
you cannot use -f, if you want to use the * in your pattern.

Code:
 
for i in /a/b/c/d/e/K*-*-*-*.s; 
do 
       #Here you can get the files one by one using $i
       mv $i newPath
       [ "$?" -eq "0" ] && echo "$i : File Move -Successful" || echo "$i : File Move -Failed"
done

# 5  
Old 07-12-2011
Code:
#!/bin/bash

for i in /o/A/D/E/c/K*-*-*-*.s ;
do
mv i /om/R/a/e
[ "$?" -eq "0" ] && echo "$i : File Move -Successful" || echo "$i : File Move -Failed"
done

tried this script got getting "mv: cannot access i" , am i doing anything wrong ?
Is "$?" standard way of checking the existence of the file in particular dir ?
Thanks,
Ajay


Quote:
Originally Posted by itkamaraj
you cannot use -f, if you want to use the * in your pattern.

Code:
 
for i in /a/b/c/d/e/K*-*-*-*.s; 
do 
       #Here you can get the files one by one using $i
       mv $i newPath
       [ "$?" -eq "0" ] && echo "$i : File Move -Successful" || echo "$i : File Move -Failed"
done


Last edited by Franklin52; 07-12-2011 at 04:50 AM.. Reason: Please use code tags for code and data samples, thank you
# 6  
Old 07-12-2011
mv i

change it to $i
# 7  
Old 07-12-2011
it is working fine now when file exists ..." File Move -Successful"
but when file does not exist it is giving "mv: cannot access .......pathname"
anyways thanks a lot for your quick replies ...i appreciate your help.
Quote:
Originally Posted by itkamaraj
mv i

change it to $i
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Ubuntu

[: too many arguments

line 5: #!/bin/bash old=$(du -sh /home/andy/Downloads/myfile.iso) while true; do new=$(du -sh /home/andy/Downloads/myfile.iso) if ; then break fi old=$new xdotool getactivewindow key Ctrl sleep 5 done line 5: bash - Meaning of " (square brackets)... (9 Replies)
Discussion started by: drew77
9 Replies

2. Shell Programming and Scripting

Too many arguments

hi I have this code a="a b c" set -- $a if ; then echo empty fi why is it line 3 reports "test: [: too many arguments"? :wall: Thanks! (4 Replies)
Discussion started by: h0ujun
4 Replies

3. Shell Programming and Scripting

Using arguments

I have a SNMP agent that sends three arguments to the script to get a value at the end. The first is the LeafNumber, second is the request type (SET, GET, GETNEXT), and the last is a string that represents some value to be set(used only for set requests). The agent string looks like this: ... (3 Replies)
Discussion started by: jsoper1
3 Replies

4. Shell Programming and Scripting

grep with two arguments to arguments to surch for

Hello, is it possible to give grep two documents to surche for? like grep "test" /home/one.txt AND /home/two.txt ? thanks (1 Reply)
Discussion started by: Cybertron
1 Replies

5. Shell Programming and Scripting

Too many arguments

echo "the number from 1 to 10:" i=1 while do echo $i i=`expr $i+1' done above is the program i written in Linux O.S using vi editor but i am getting the error that while: line 3: i am not understanding that why i am getting this error. can any body please help me regarding this... (3 Replies)
Discussion started by: bsatishbabu
3 Replies

6. Shell Programming and Scripting

[: too many arguments

hi I am getting too many arguments error for the below line if ; then Thx in advance (1 Reply)
Discussion started by: vls1210
1 Replies

7. Shell Programming and Scripting

too many arguments?

i don't know what's wrong with the code, says too many arguments in the first two if statements. how to change it? thx. the file is like in this format: ;dfs;dfdsf;fsd ff dsf;dfdffdfd; -f2 should be only one word with no space, but could be like this 'n/a', '**ABC' while read line; do ... (1 Reply)
Discussion started by: dtdt
1 Replies

8. Shell Programming and Scripting

Too many arguments?

I can't find anything wrong with this line of code, it works when there is one file in the directory but more than one i get a "too many arguements2 error if ; then am i missing something? (3 Replies)
Discussion started by: Alendrin
3 Replies

9. Shell Programming and Scripting

[: too many arguments

Hi Guys I have this small Bash script - but it fails when I'm trying to run it. ./test.sh: && ; then # date >> /writable/sys/shutdown.log shutdown -h "now" exit fi done (4 Replies)
Discussion started by: tainted2real
4 Replies

10. UNIX for Dummies Questions & Answers

Arguments

Ok so i had to create a file and put some random text into it which i did. THen u make a script which takes 2 arguments. The first being a line of text, the second being your newly created file. The script should take the first argument and insert it into the very top (the first line) of... (1 Reply)
Discussion started by: iago
1 Replies
Login or Register to Ask a Question