Help with xargs


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with xargs
# 8  
Old 03-17-2013
Try this:

Code:
set -- a b c
echo $1
echo $2
echo $3
echo "$*"
IFS="|"
echo "$*"

and you'll see what I'm doing.
# 9  
Old 03-18-2013
That was really helpful for me to understand what is going on here. So, I see what's happening but I'm still not sure of the purpose of the IFS command is. I see what it is doing, setting the delimiter to |. But what purpose does that serve for the remainder of the script? Somehow it must have an effect when running the last line.
Code:
netstat -nlp | egrep "($*)/"

# 10  
Old 03-18-2013
It's not a command, it's a special variable which determines what value(s) the shell splits and joins strings upon. Setting it to | allows me to join $1 $2 $3 ... together like "A|B|C" so I can grep for more than one thing at once -- that being the syntax egrep uses for multiple search strings. plain grep doesn't have that.

egrep also lets you group things with (). So It searches for (PID1|PID2|PID3)/, so PID1/, or PID2/, or PID3/. That way it won't accidentally match a number elsewhere in netstat, it will just look for them in the PID field where they belong.
This User Gave Thanks to Corona688 For This Post:
# 11  
Old 03-18-2013
Nice! Thank you for your help. Here is my final solution. If you have any suggestions please let me know. I didn't end up using awk the way you suggested because I couldn't get it to work.

Code:
$ cat portsfor 
#!/bin/bash
set -- `ps aux | grep $1 | grep -v grep | grep -v $0 | awk '{print $2}'`
IFS="|"
sudo netstat -nlp | grep -E "($*)/"
$ ./portsfor catalina
[sudo] password for axiopisty: 
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      11389/java      
tcp6       0      0 :::8009                 :::*                    LISTEN      11389/java      
tcp6       0      0 :::8080                 :::*                    LISTEN      11389/java      
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      11389/java      
$


Last edited by axiopisty; 03-18-2013 at 01:53 PM.. Reason: changed text
# 12  
Old 03-18-2013
pgrep $1 ought to spit out PIDs (and only PIDs, no filtering needed) matching catalina without matching itself or the script. Use it directly, ps not needed.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Xargs

Hi, can anyone tell me in detail ? what the following do in detail ? I am trying to get a largest number in a list Thanks Tao LARGEST=$(echo $* | xargs -n1 | sort -nr | tail -1) (3 Replies)
Discussion started by: ccp
3 Replies

2. Shell Programming and Scripting

Xargs

Hello, I need some help with xargs $ ls aaa bbb ccc ddd$ ls | xargs -I{} ls -la {} -rw-rw-r--. 1 xxx xx 0 May 30 20:04 aaa -rw-rw-r--. 1 xxx xx 0 May 30 20:04 bbb -rw-rw-r--. 1 xxx xx 0 May 30 20:04 ccc -rw-rw-r--. 1 xxx xx 0 May 30 20:04 dddit's possible to have output like this with... (3 Replies)
Discussion started by: vikus
3 Replies

3. Shell Programming and Scripting

xargs

Dear all , any suggest on xargs to combine from (1.txt and 2.txt) to output.txt ? thanks a lot. 1.txt 0123 BUM-5M BUM-5M 93490481 63839 0124 BUM-5M BUM-5M 112112 ... (3 Replies)
Discussion started by: samoptimus
3 Replies

4. Shell Programming and Scripting

Help with xargs

hi Could any one please tell me the option using which we can run multiple commands using xargs I have list of files, I want to run dos2unix and chmod at one shot on them I tried google n searched man pages but couldnt really find the solution , please help right now im doing this ls... (4 Replies)
Discussion started by: sunilmenhdiratt
4 Replies

5. Shell Programming and Scripting

Xargs and

Hello there, Let me show you a simple example of what I am trying to achieve: 1) I have an input text file with some lines: 1 a 2 b 3 c 2) And I want to run a command with these lines as arguments (+ arbitrary extra arguments). For example: $ command "1 a" "2 b" "3 c" "bye" I... (7 Replies)
Discussion started by: tokland
7 Replies

6. Shell Programming and Scripting

Help in using xargs

Hi, I have a requirement to RCP the files from remote server to local server. Also the RCP has to run in parallel. However using 'xargs' retrives 2 file names during each loop. How do we restrict to only one file name using xargs and loop till remaining files. I use the below code for... (2 Replies)
Discussion started by: senthil3d
2 Replies

7. Shell Programming and Scripting

Using xargs

hi i just want to know that how do we use xargs command to find files which are greater than specified memory in a given directory (6 Replies)
Discussion started by: sumit the cool
6 Replies

8. UNIX for Advanced & Expert Users

xargs -P

I discovered that GNU's xargs has a -P option to allow its processes to run in parallel. Great! Is this a GNU thing, or is it supported by other platforms as well? (4 Replies)
Discussion started by: otheus
4 Replies

9. Shell Programming and Scripting

why we use xargs..

hi , can anyone help me by saying why we use xargs.. is it acing like a place holder..? thanks, Krips. (3 Replies)
Discussion started by: kripssmart
3 Replies

10. UNIX for Dummies Questions & Answers

Help with xargs

Hi there, I am trying to move around 3000 files from one directory to another. The mv command is complaining from too many arguments. I tried to use the xargs command but with no luck. Could some body provide help? Regards (4 Replies)
Discussion started by: JimJim
4 Replies
Login or Register to Ask a Question