Sponsored Content
Top Forums Shell Programming and Scripting help on awk---- need to assign the output of awk to a variable Post 302580688 by methyl on Friday 9th of December 2011 09:09:23 AM
Old 12-09-2011
@Nithz
In future posts, please post the current version of your script along with any matching error messages.
You are quite a long way adrift with syntax. Note that when assigning variables there is no space character either side of the equals sign.

This should get you past the syntax errors.

Code:
#!/bin/ksh
size=$(du -s | awk '{print $1}')
if [ ${size} -ge 112000 ]
then
        echo "${size} high"
fi

Now! I wonder where the number 112000 came from? The units of the output from "du -s" are in "512 byte blocks".
Using the unix in-line calculator "bc" I get a different value for the number of 512 byte chunks in a Gigabyte.
Code:
echo "(1024*1024*1024)/(512)"|bc
2097152

The units of "du -sk" are easier to work with. See the "man" page for "du".

Last edited by methyl; 12-09-2011 at 10:17 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

assign value to variable using AWK

Dear Friends I have text file as like below, AAAAA|BHBHBH|VERYSMART AAAAA| KKKKKK|GOOD BBBBBB|JJJJJJJ|VERYGOOD CCCCC|HJHJHJ|BETTER CCCCC|UUUUU|GOOD i need to split into seperate files based on column 1 like as below AAAAA.TXT contains -------------------- BHBHBH.VERYSMART... (4 Replies)
Discussion started by: HAA
4 Replies

2. Shell Programming and Scripting

assign values from awk output - help

Dear All, I have a command which gives the number of fields of each line of a comma-separated file. sthng like this : cat QDB_20071126_002.bad | awk -F"," '{ print NF }' I need to assign the first output and the last output of the above command to variables in a script. Need help to do... (4 Replies)
Discussion started by: KrishnaSaran
4 Replies

3. Shell Programming and Scripting

Assign o/p of awk to a variable

:confused: Hi UNIX gurus, I am facing a typical problem while assigining while assigining output of awk to a variable. I have a fixed length file say myinputfile.txt When I allow the value/output of an awk to be redirected to a file, it works fine. i.e. awk "/^.{232}$acctNum/ {... (8 Replies)
Discussion started by: c2b2
8 Replies

4. Shell Programming and Scripting

assign awk output to bash variable

greetings all, I am have a heck of a time trying to accomplish a very simple thing. I have an array of "shortname<spaces>id" created from a dscl output. I want to assign shortname=word1 and id=word2. I have tried shortname=$(${textArray} | awk '{print $1}') - and get 'awk : cannot open... (3 Replies)
Discussion started by: macnetdaemon
3 Replies

5. Shell Programming and Scripting

awk: assign variable with -v didn't work in awk filter

I want to filter 2nd column = 2 using awk $ cat t 1 2 2 4 $ VAR=2 #variable worked in print $ cat t | awk -v ID=$VAR ' { print ID}' 2 2 # but variable didn't work in awk filter $ cat t | awk -v ID=$VAR '$2~/ID/ { print $0}' (2 Replies)
Discussion started by: honglus
2 Replies

6. Shell Programming and Scripting

assign awk's variable to shell script's variable?

Dear All, we have a command output which looks like : Total 200 queues in 30000 Kbytes and we're going to get "200" and "30000" for further process. currently, i'm using : numA=echo $OUTPUT | awk '{print $2}' numB=echo $OUTPUT | awk '{print $5}' my question is : can I use just one... (4 Replies)
Discussion started by: tiger2000
4 Replies

7. Shell Programming and Scripting

using awk for setting variable but change the output of this variable within awk

Hi all, Hope someone can help me out here. I have this BASH script (see below) My problem lies with the variable path. The output of the command find will give me several fields. The 9th field is the path. I want to captured that and the I want to filter this to a specific level. The... (6 Replies)
Discussion started by: Cowardly
6 Replies

8. Shell Programming and Scripting

Assign a variable with awk

I launch 'netstat -a', if string 'ESTABLISHED' found, then VAR=1 #!/bin/bash VAR=0; netstat -a | awk '$6 ~ /ESTABLISHED/ {VAR=1}' I cannot find the right syntax. thanx guys! (3 Replies)
Discussion started by: arpagon
3 Replies

9. UNIX for Beginners Questions & Answers

How can I assign awk's variable to shell script's variable?

I have the following script, and I want to assign the output ($10 and $5) from awk to N and L: grdinfo data.grd | awk '{print $10,$5}'| read N L output from gridinfo data.grd is: data.grd 50 100 41 82 -2796 6944 0.016 0.016 3001 2461. where N and L is suppose to be 3001 and 100. I use... (8 Replies)
Discussion started by: geomarine
8 Replies

10. UNIX for Beginners Questions & Answers

How to assign a value to a variable in awk scripting?

Hi, I am trying to assign a value using below command and it is assigning the command to the variable not the output of the command? out_value="echo $0 | cut -c 9-11"; How can i assign the output to the variable instead of whole command? This is inside my awk script (7 Replies)
Discussion started by: bhagya123
7 Replies
DF(1)							    BSD General Commands Manual 						     DF(1)

NAME
df -- display free disk space SYNOPSIS
df [-b | -h | -H | -k | -m | -g | -P] [-ailn] [-t] [-T type] [file | filesystem ...] LEGACY SYNOPSIS
df [-b | -h | -H | -k | -m | -P] [-ailn] [-t type] [-T type] [file | filesystem ...] DESCRIPTION
The df utility displays statistics about the amount of free disk space on the specified filesystem or on the filesystem of which file is a part. Values are displayed in 512-byte per block counts. If neither a file or a filesystem operand is specified, statistics for all mounted filesystems are displayed (subject to the -t option below). The following options are available: -a Show all mount points, including those that were mounted with the MNT_IGNORE flag. -b Use (the default) 512-byte blocks. This is only useful as a way to override an BLOCKSIZE specification from the environment. -g Use 1073741824-byte (1-Gbyte) blocks rather than the default. Note that this overrides the BLOCKSIZE specification from the environ- ment. -H "Human-readable" output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to three or less using base 10 for sizes. -h "Human-readable" output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to three or less using base 2 for sizes. -i Include statistics on the number of free inodes. This option is now the default to conform to Version 3 of the Single UNIX Specification (``SUSv3'') Use -P to suppress this output. -k Use 1024-byte (1-Kbyte) blocks, rather than the default. Note that this overrides the BLOCKSIZE specification from the environment. -l Only display information about locally-mounted filesystems. -m Use 1048576-byte (1-Mbyte) blocks rather than the default. Note that this overrides the BLOCKSIZE specification from the environ- ment. -n Print out the previously obtained statistics from the filesystems. This option should be used if it is possible that one or more filesystems are in a state such that they will not be able to provide statistics without a long delay. When this option is speci- fied, df will not request new statistics from the filesystems, but will respond with the possibly stale statistics that were previ- ously obtained. -P Use (the default) 512-byte blocks. This is only useful as a way to override an BLOCKSIZE specification from the environment. -T Only print out statistics for filesystems of the specified types. More than one type may be specified in a comma separated list. The list of filesystem types can be prefixed with ``no'' to specify the filesystem types for which action should not be taken. For example, the df command: df -T nonfs,mfs lists all filesystems except those of type NFS and MFS. The lsvfs(1) command can be used to find out the types of filesystems that are available on the system. -t If used with no arguments, this option is a no-op (Mac OS X already prints the total allocated-space figures). If used with an argu- ment, it acts like -T, but this usage is deprecated and should not be relied upon. ENVIRONMENT
BLOCKSIZE If the environment variable BLOCKSIZE is set, the block counts will be displayed in units of that size block. BUGS
The -n and -t flags are ignored if a file or filesystem is specified. LEGACY DESCRIPTION
The "capacity" percentage is normally rounded up to the next higher integer. In legacy mode, it is rounded down to the next lower integer. When the -P option and the -k option are used together, sizes are reported in 1024-blocks. In legacy mode, when the -P option and -k option are used together, the last option specified dictates the reported block size. The -t option is normally a no-op (Mac OS X already prints the total allocated-space figures). In legacy mode, it is equivalent to -T. For more information about legacy mode, see compat(5). SEE ALSO
lsvfs(1), quota(1), fstatfs(2), getfsstat(2), statfs(2), getmntinfo(3), compat(5), fstab(5), mount(8), quot(8) HISTORY
A df command appeared in Version 1 AT&T UNIX. BSD
May 8, 1995 BSD
All times are GMT -4. The time now is 02:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy