Space in a arg


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Space in a arg
# 1  
Old 11-04-2009
Space in a arg

Hi,

When i am running a script it considers the below as mulitple arguments.
There is any command which can ignore the spaces.

I tried by using sed like below to ignore but it doesnt work.

Code:
sed 's/ /\\ /g'

100% Haddock Fillets Battered 500G-small.gif

~vino
# 2  
Old 11-04-2009
As it is not so clear, am assuming the following.

Code:
$ cat t.sh
echo $1 $2

Code:
$ sh t.sh '100% Haddock Fillets Battered 500G-small.gif' 'another file'
100% Haddock Fillets Battered 500G-small.gif another file


$ sh t.sh 100% Haddock Fillets Battered 500G-small.gif another file
100% Haddock


You need to quote your arguments finally... GOT ?
# 3  
Old 11-04-2009
I need a command to ignore the white spaces when reading a file.
Which contains contents like below.

Where i will be reading each line and passing as a argument to another process.

Due to this space its throwing multiple arguments error.


Code:
products/100% Haddock Fillets  500G-small.gif
products/100% Haddock Fillets  500G.gif
products/2 Hot and Spicy  Grills 200G -small.gif
products/2 Hot and Spicy  Grills 200G.gif
products/2 Original  Fillet Burgers 180G -small.gif
products/2 Original  Fillet Burgers 180G.gif

# 4  
Old 11-04-2009
Quote it from where you are sending.... Again quoting is the answer.


Example:

Process 1: Get and prints the argument.

Code:
$ cat get-arg.sh
echo $1 $2



File
: f1 is the file which has the given content

Code:
$ cat f1
products/100% Haddock Fillets  500G-small.gif
products/100% Haddock Fillets  500G.gif
products/2 Hot and Spicy  Grills 200G -small.gif
products/2 Hot and Spicy  Grills 200G.gif
products/2 Original  Fillet Burgers 180G -small.gif
products/2 Original  Fillet Burgers 180G.gif

Process 2: Reads lines, and calls the other process with the argument.

Code:
$ cat t1.sh
while read line
do
#echo $line
sh ./get-arg.sh "$line"
done < ./f1

Note: When "" around line is there then it had been taken as a single argument...

I hope you have got it now as because i demonstrated enough ....

If needed, give without QUOTE in $line, then you will printing only first two words...


With Quote:
Code:
$ sh t1.sh
products/100% Haddock Fillets 500G-small.gif
products/100% Haddock Fillets 500G.gif
products/2 Hot and Spicy Grills 200G -small.gif
products/2 Hot and Spicy Grills 200G.gif
products/2 Original Fillet Burgers 180G -small.gif
products/2 Original Fillet Burgers 180G.gif

Without Quote:

Code:
$ sh t1.sh
products/100% Haddock
products/100% Haddock
products/2 Hot
products/2 Hot
products/2 Original
products/2 Original

 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Execute arg with ssh

Hello, I am trying to execute remote script with ssh : ssh -o ConnectTimeout=10 -o PasswordAuthentication=no -o NumberOfPasswordPrompts=0 -o StrictHostKeyChecking=no root@host '/arbo/script -t' My script is well executed, but my option '-t' is never loaded, how can you explain that ? (2 Replies)
Discussion started by: cterra
2 Replies

2. Shell Programming and Scripting

Bash script too many arg's

I have a simple bash script on RHEL that works fine when there is one file but when it finds multiple files of same condition I get too many args error. for i in * do if ;then echo "no files to move" exit 0 fi if ; then ... (10 Replies)
Discussion started by: jcalisi
10 Replies

3. Shell Programming and Scripting

Copy from/to file, if arg 'ok'

Hello, I've just started with shell scripting, and I need som assistance! Basicly what I want to do is copy names from one file to another, when running the scrip the user should be asked about the status of these names. Let me demonstrate: file: Name: John, Gender: male Name: Jane,... (6 Replies)
Discussion started by: klskl
6 Replies

4. UNIX for Dummies Questions & Answers

Arg list too long

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

5. Programming

warning: int format,pid_t arg (arg 2)

I try following code under Solaris10,like follows: int glob = 6; int main(void) { int var; pid_t pid; var = 88; printf("before vfork\n"); if ((pid = vfork()) < 0) { err_sys("vfork error"); } else if (pid == 0) { glob++; var++; _exit(0); } ... (1 Reply)
Discussion started by: konvalo
1 Replies

6. Shell Programming and Scripting

arg list too long

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

7. AIX

file system space arg !!! and confused

Aix 5.2 on a P510 RS6000 My /usr filesystem is sized at 3.8 gb. Check me if I'm wrong here but this should be enough space for /usr? When I installed the o/s I just followed the defaults, didn't add any 3rd party apps, least that I know of. My problem is that it's running at 90% capacity. ... (2 Replies)
Discussion started by: Westy564
2 Replies

8. UNIX for Advanced & Expert Users

arg list too long

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

9. UNIX for Dummies Questions & Answers

arg list too long

I do ls -l ABC*, I get arg list too long message. This will not happen if ABC* has small no of files I believe 4000 files is limit. Any way of avoiding this. I even tried like this for i in `ls -l ABC*` do echo $i done Same problem. Any solution would be great. I am on HP-UX... (5 Replies)
Discussion started by: vingupta
5 Replies
Login or Register to Ask a Question