How to extract the value of "%" using scripting?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to extract the value of "%" using scripting?
# 8  
Old 06-14-2010
Hi Scrutinizer,

This time the script works perfectly.

Here is the output:
Code:
/var                            62%
/usr                            37%
/usr/misc/TEST                  38%
/tmp                            78%
/home/TEST                      91%

However, I've some questions as follow:
1) How to adjust the gap between the path and percentage? Currently the gap is quite wide.
2) Is it possible to put some remarks in the end for higher percentage? Example of remark: High usage.

Sample output:
Code:
/home/TEST   91%   High Usage

Thank you for your help and advice.



Regards,
Peter
# 9  
Old 06-14-2010
Hi, you can vary the width of the first columns and make it 24 for instance. Also you can issue a message based on the value, like so:

Code:
awk 'NR>1&&NF>1{printf "%24-s %4s  %s\n",$NF,$(NF-1),($(NF-1) > 90)?"High Usage":""}' infile

This User Gave Thanks to Scrutinizer For This Post:
# 10  
Old 06-15-2010
Hi Scrutinizer,

Thanks for your help.

This time the script works perfectly.

Here is the output:
Code:
/sapmnt/TEST                    91%
/oracle/stage/102_64            48%
/oracle/client                  46%
/opt                            66%
/misc                           17%
/home                           19%

However, I've 2 questions:
1) Is it possible to adjust the gap between the path and the percentage?
2) Is it possible to add a comment like: High Usage at end of line?

For example:
Code:
/sapmnt/TEST 91%  High Usage

Thank you for your help.



Regards,
Peter
# 11  
Old 06-15-2010
See post above
# 12  
Old 06-16-2010
Hi Scrutinizer,

Thanks a lot for your kind help.

The script is working perfectly.

GREAT....



Regards,
Peter

---------- Post updated 06-16-10 at 03:45 AM ---------- Previous update was 06-15-10 at 05:30 AM ----------

Hi Scrutinizer,

I've tried your script, but there is some minor issues as shown below. The condition has been set to 80, but the value that is lesser than 80 also displayed, eg: 9%.

bdf | awk 'NR>1&&NF>1{printf "%24-s %4s %s\n",$NF,$(NF-1),($(NF-1) > 80)?"High Usage":""}'

Code:
/stand                     9%   High Usage
/var                       62%
/sapmnt/TES                91%  High Usage
/oracle                    3%
/oracle/TEST/102_64        85%  High Usage

Please kindly advice.

Thanks.


Regards,
Peter
# 13  
Old 06-16-2010
Oops, try this:
Code:
bdf | awk 'NR>1&&NF>1{printf "%24-s %4s %s\n",$NF,$(NF-1),($(NF-1)+0 > 80)?"High Usage":""}'

# 14  
Old 06-16-2010
Hi Scrutinizer,

Once again, thanks a lot for your help.

The script works perfectly.



Regards,
Peter

---------- Post updated at 06:15 AM ---------- Previous update was at 06:01 AM ----------

Hi Scrutinizer,

Do yuo know how can I close this message?

Could not find any option.

Thanks.


Regards,
Peter
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Beginners Questions & Answers

Extract delta records using with "comm" and "sort" commands combination

Hi All, I have 2 pipe delimited files viz., file_old and file_new. I'm trying to compare these 2 files, and extract all the different rows between them into a new_file. comm -3 < sort file_old < sort file_new > new_file I am getting the below error: -ksh: sort: cannot open But if I do... (7 Replies)
Discussion started by: njny
7 Replies

4. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

5. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

6. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

7. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

8. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question