Date: Fri, 10 Mar 2000 15:26:00 +0000 From: Jonathan Wall <JW1@mm-croy.mottmac.com> To: freebsd-questions@FreeBSD.org Subject: truncating lines with a script... Message-ID: <934E0337010C01E0@smtp-gate.mottmac.com>
next in thread | raw e-mail | index | archive | help
Hi there, Hopefully somebody can spare a moment to solve a problem I'm having... I have a very simple sh script that runs 'ps' via rsh for some machines on our network and then pipes the output through grep to pick out the lines of interest - in this case the Xvnc processes. I would like to then pipe the output through another command to remove the superfluous Xvnc command line switches the ps command also shows. The script as it currently stands is shown below. I thought sed would be the answer but apart from having an astoundingly cryptic man page, I think it can only delete whole lines containing a particular string rather than a segment of a line. I know I could have used 'comm' instead of 'command' in the script to have a shortened output from ps, but then I can't see which screen the Xvnc processes are attached to. The typical output is below the script and given this example I would ideally like to remove everything after the ':1'. Perhaps I should be using awk or perl ??? I'm frustrated to be unable to work this out for myself since it seems so trivial. Is there a correspondingly trivial solution ?? Thanks in advance to anyone who has time to write a reply, Jonathan Wall. ### My script ### #!/bin/sh echo "" echo "" echo "--------------------------------------------------------------" echo " cfd1" echo "--------------------------------------------------------------" rsh cfd1 ps -e -o user,pid,pcpu,pmem,vsize,rssize,tty,state,start,cputime,etime,command \ | grep -w -e USER -e Xvnc \ | grep -v -e grep echo "--------------------------------------------------------------" echo " cfd2" echo "--------------------------------------------------------------" rsh cfd2 ps -e -o user,pid,pcpu,pmem,vsize,rssize,tty,state,start,cputime,etime,command \ | grep -w -e USER -e Xvnc \ | grep -v -e grep echo "--------------------------------------------------------------" echo " cfd3" echo "--------------------------------------------------------------" rsh cfd3 ps -e -o user,pid,pcpu,pmem,vsize,rssize,tty,state,start,cputime,etime,command \ | grep -w -e USER -e Xvnc \ | grep -v -e grep echo "" echo "" ### Typical output ### (apologies if the long line causes problems for your email client) -------------------------------------------------------------- cfd1 -------------------------------------------------------------- USER PID %CPU %MEM VSZ RSS TTY S STARTED TIME ELAPSED COMMAND jw1 2515 0.0 0.5 7.68M 3.7M ttyp4 S 18:43:20 0:00.58 1:27 Xvnc :1 -desktop X -httpd /usr/personal/jw1/apps/share/vnc/classes -auth /usr/personal/jw1/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 120000 -rfbauth /usr/personal/jw1/.vnc/passwd -rfbport 5901 -fp /usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/,/usr/lib/X11/fonts/100dpi /,/usr/lib/X11/fonts/decwin/75dpi/,/usr/lib/X11/fonts/decwin/100dpi/,/usr/li b/X11/fonts/cde/75dpi/,/usr/lib/X11/fonts/cde/100dpi/,/usr/lib/X11/fonts/use r/75dpi/,/usr/lib/X11/fonts/user/100dpi/,/usr/lib/X11/fonts/user/misc/,/usr/ lib/X11/fonts/Speedo/,/usr/lib/X11/fonts/Type1/,/usr/lib/X11/fonts/Type1Adob e/ -------------------------------------------------------------- cfd2 -------------------------------------------------------------- USER PID %CPU %MEM VSZ RSS TTY S STARTED TIME ELAPSED COMMAND -------------------------------------------------------------- cfd3 -------------------------------------------------------------- USER PID %CPU %MEM VSZ RSS TTY S STARTED TIME ELAPSED COMMAND To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?934E0337010C01E0>