08-03-2009
Shell script grep help
Hey there, newbie question :
echo "::kmastat" | /usr/bin/mdb -k | grep Total | grep "kmem_*"
Total [kmem_msb] 17326080 432853 0
Total [kmem_va] 426508288 65458 0
Total [kmem_default] 704757760 1572001732 0
Total [kmem_tsb_default] 1277952 3027965 0
Total [segkmem_ppa] 3145728 23 0
I do this on a solaris box, as a part of my shell script to check the total kernel memory usage ...
I want to eliminate the last "Total [segkmem_ppa]" from the list, without hardcoding as grep -v "Total [segkmem_ppa]" as, i dont know what else might include the string kmem at any point.
Any solution ?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi everyone,
Im trying to write a Shell script that basically creates a set of files based on a file with many records. For example if a file called dummy has the following content:
a.txt
1st line of a's text file
2nd line of a's text file
3rd line of a's text file
b.txt
1st line of b's... (8 Replies)
Discussion started by: nbvcxzdz
8 Replies
2. Shell Programming and Scripting
Hi,
I have a problem with a simple script I am trying to write. I want a user to type grep, sed commands that are then stored in variables. Those variables are stored in a function, and the function is then called to execute the commands. The idea is that the user does it step by step.
... (4 Replies)
Discussion started by: Trufla
4 Replies
3. Shell Programming and Scripting
Hello
I do want to write a script which will check any errors say "-error" in the log file then have to send email to the concern person . And the concern person will correct the error .
Next time if the script runs eventhough the error has been corrected it will ... (1 Reply)
Discussion started by: Krishnaramjis
1 Replies
4. Shell Programming and Scripting
Hi,
I am writing a shell script that checks catalina logs on a production system and mails me if it detects errors.
It greps the logs for known errors which i have defined as variables.
The problem is the logs are huge, approx 30,000 before they rotate.
So I am forced to use grep instead... (3 Replies)
Discussion started by: Moxy
3 Replies
5. Shell Programming and Scripting
Hi,
I have written the following shell script -
Error_String="error"
var1="| grep -v note1 | grep -v note2"
grep -i $Error_String /users/mqm/Pwork/Err/*.out $var1
The above script gives error saying "grep: can't open |
grep: can't open grep
grep: can't open -v" etc
In my program... (3 Replies)
Discussion started by: prasannasupp
3 Replies
6. Shell Programming and Scripting
Hi guys, I have written this script, however the outcome is invalid. It contains grep search that is not needed:
Script:
#!/bin/bash
#this is a test script
FILES=$(ls /home/student/bin/dir1/*)
GREPFUNC=$(grep -E -i "login|Successfully" ORProxyTC`date '+%m%d%Y'`*.txt/ ${FILES})... (14 Replies)
Discussion started by: DallasT
14 Replies
7. Shell Programming and Scripting
I need help in the following script. I want to grep the sql errors insert into the error table and exit the shell script if there is any error, otherwise keep running the scripts.
Here is my script
#!/bin/csh -f
source .orapass
set user = $USER
set pass = $PASS
cd /opt/data/scripts
echo... (2 Replies)
Discussion started by: allinshell99
2 Replies
8. Shell Programming and Scripting
Hi guys - below is my script that is checking for current file, size and timestamp.
However I added a "grep" feature in it (line in red), but not getting the desired result.
I am trying to acheive in output:
1. Show me the file name, timestamp, size and grep'ed words
It would be a... (2 Replies)
Discussion started by: DallasT
2 Replies
9. Shell Programming and Scripting
hi guys
very new to this game so excuse my ignorance. I need to create a script that simply greps for a text string and then outputs a message depending on whether the text string is there or not. The script I have setup is below, but whenever I run it I get the following error:
... (5 Replies)
Discussion started by: ap2112
5 Replies
10. Shell Programming and Scripting
HI Guys hoping some one can help
I have two files on both containing uk phone numbers
master is a file which has been collated over a few years ad currently contains around 4 million numbers
new is a file which also contains 4 million number i need to split new nto two separate files... (4 Replies)
Discussion started by: dunryc
4 Replies
LEARN ABOUT DEBIAN
filesys::df
Df(3pm) User Contributed Perl Documentation Df(3pm)
NAME
Filesys::Df - Perl extension for filesystem disk space information.
SYNOPSIS
use Filesys::Df;
#### Get information by passing a scalar directory/filename value
my $ref = df("/tmp"); # Default output is 1K blocks
if(defined($ref)) {
print "Total 1k blocks: $ref->{blocks}
";
print "Total 1k blocks free: $ref->{bfree}
";
print "Total 1k blocks avail to me: $ref->{bavail}
";
print "Total 1k blocks used: $ref->{used}
";
print "Percent full: $ref->{per}
";
if(exists($ref->{files})) {
print "Total inodes: $ref->{files}
";
print "Total inodes free: $ref->{ffree}
";
print "Inode percent full: $ref->{fper}
";
}
}
#### Get information by passing a filehandle
open(FILE, "some_file"); # Get information for filesystem at "some_file"
my $ref = df(*FILE);
#### or
my $ref = df(*FILE);
#### or
my $fhref = *FILE;
my $ref = df($fhref);
#### Get information in other than 1k blocks
my $ref = df("/tmp", 8192); # output is 8K blocks
my $ref = df("/tmp", 1); # output is bytes
DESCRIPTION
This module provides a way to obtain filesystem disk space information. This is a Unix only distribution. If you want to gather this
information for Unix and Windows, use "Filesys::DfPortable". The only major benefit of using "Filesys::Df" over "Filesys::DfPortable", is
that "Filesys::Df" supports the use of open filehandles as arguments.
The module should work with all flavors of Unix that implement the "statvfs()" and "fstatvfs()" calls, or the "statfs()" and "fstatfs()"
calls. This would include Linux, *BSD, HP-UX, AIX, Solaris, Mac OS X, Irix, Cygwin, etc ...
"df()" requires a argument that represents the filesystem you want to query. The argument can be either a scalar directory/file name or a
open filehandle. There is also an optional block size argument so you can tailor the size of the values returned. The default block size is
1024. This will cause the function to return the values in 1k blocks. If you want bytes, set the block size to 1.
"df()" returns a reference to a hash. The keys available in the hash are as follows:
"{blocks}" = Total blocks on the filesystem.
"{bfree}" = Total blocks free on the filesystem.
"{bavail}" = Total blocks available to the user executing the Perl application. This can be different than "{bfree}" if you have per-user
quotas on the filesystem, or if the super user has a reserved amount. "{bavail}" can also be a negative value because of this. For
instance if there is more space being used then you have available to you.
"{used}" = Total blocks used on the filesystem.
"{per}" = Percent of disk space used. This is based on the disk space available to the user executing the application. In other words, if
the filesystem has 10% of its space reserved for the superuser, then the percent used can go up to 110%.
You can obtain inode information through the module as well, but you must call "exists()" on the "{files}" key first, to make sure the
information is available. Some filesystems may not return inode information, for example some NFS filesystems.
Here are the available inode keys:
"{files}" = Total inodes on the filesystem.
"{ffree}" = Total inodes free on the filesystem.
"{favail}" = Total inodes available to the user executing the application. See the rules for the "{bavail}" key.
"{fused}" = Total inodes used on the filesystem.
"{fper}" = Percent of inodes used on the filesystem. See rules for the "{per}" key.
There are some undocumented keys that are defined to maintain backwards compatibilty: "{su_blocks}", "{user_blocks}", etc ...
If the "df()" call fails for any reason, it will return undef. This will probably happen if you do anything crazy like try to get
information for /proc, or if you pass an invalid filesystem name, or if there is an internal error. "df()" will "croak()" if you pass it a
undefined value.
Requirements: Your system must contain "statvfs()" and "fstatvfs()", or "statfs()" and "fstatfs()" You must be running Perl 5.6 or higher.
AUTHOR
Ian Guthrie IGuthrie@aol.com
Copyright (c) 2006 Ian Guthrie. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
SEE ALSO
statvfs(2), fstatvfs(2), statfs(2), fstatfs(2), df(1), Filesys::DfPortable
perl(1).
perl v5.14.2 2006-06-25 Df(3pm)