Awk command


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Awk command
# 1  
Old 11-04-2003
Awk command

Hey guys,
need help writing a script which will display the total word count of all executables in the current directory. I believe awk is necessary but im unfamiliar with the command could someone please explain it to me or how it would apply to this script? as of now i have it printing the filenames and the wc for each executable but cant get the total.
# 2  
Old 11-04-2003
Can't imagine real life usage for this, but here it comes:

> ls -l | grep -c "^-.*x "

This will show how many executable (owner, group or other having x-bit set) files are located in your working directory.

---Tommy
# 3  
Old 11-04-2003
thanks tommy,
but what i need is the total wc for all executables, not just how many there are
# 4  
Old 11-04-2003
Quote:
Originally posted by Aesop
thanks tommy,
but what i need is the total wc for all executables, not just how many there are
all unix commands are only going to be 1 word.

I guess you would have to define word count.

why dont you post what you have of your script so far so we can see exactly what your talking about.

something tells me you can do what you are trying to do w/ the find command. useing the -perm argument. i just havent figured it out yet.

the only thing i can come up w/ useing the find command is:

Code:
$ ls -l
total 0
---x--x--x   1 joe     black          0 Nov  4 21:58 file0
---x------   1 joe     black          0 Nov  4 21:57 file1
------x---   1 joe     black          0 Nov  4 21:57 file2
---------x   1 joe     black          0 Nov  4 21:58 file3
$ find . -perm -u+x
.
./file1
./file0
$


Last edited by Optimus_P; 11-04-2003 at 06:17 PM..
# 5  
Old 11-04-2003
my script changes form like every 20 min,
i was thinking along the lines of using awk to search for any files with '*' denoting an executable, and getting $2 from it, then somehow adding those values.
# 6  
Old 11-04-2003
Quote:
Originally posted by Aesop
Hey guys,
need help writing a script which will display the total word count of all executables in the current directory.
Assuming they're all in one directory (and not subdirectories), would this work for you? This has to be close to what you have (as of the first post), but it gives you the total word count...

ls -F | grep '*' | wc -w
# 7  
Old 11-05-2003
Is this more what you are looking for (at least the awk portion of it):

awk '{sum += $2} END {print sum}'

I am not sure what you were refering to with respect to $2, but assuming ls with some options give you the $2 you are looking for you could do this:


ls -F | grep "*" | awk '{sum += $2} END {print sum}'

This will print the total of all the values in the second column of your output. ls -F doesn't make sense on my systems but maybe it does on yours. What OS are you using?

Are you actually looking for word count of executibles or total size of the executibles? Word size as most people on this forum are thinking doesn't make sense since the binary is not made of ASCII words for the most part. If you are thinking of machine words (8 bits or such), then use this script. Same as above but divides by 8 before giving you the total. You may have to do more math if the second column of your output isn't bits, maybe it's blocks or kb:

ls -F | grep "*" | awk '{sum += $2} END {total = sum / 8; print total}'

You may also want to look at the "strings" command if you truely want to find the amount of ASCII text in the binary, but again I don't know if that makes any sense or not.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Pass awk field to a command line executed within awk

Hi, I am trying to pass awk field to a command line executed within awk (need to convert a timestamp into formatted date). All my attempts failed this far. Here's an example. It works fine with timestamp hard-codded into the command echo "1381653229 something" |awk 'BEGIN{cmd="date -d... (4 Replies)
Discussion started by: tuxer
4 Replies

2. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies

3. Shell Programming and Scripting

awk command to compare a file with set of files in a directory using 'awk'

Hi, I have a situation to compare one file, say file1.txt with a set of files in directory.The directory contains more than 100 files. To be more precise, the requirement is to compare the first field of file1.txt with the first field in all the files in the directory.The files in the... (10 Replies)
Discussion started by: anandek
10 Replies

4. Shell Programming and Scripting

awk command in script gives error while same awk command at prompt runs fine: Why?

Hello all, Here is what my bash script does: sums number columns, saves the tot in new column, outputs if tot >= threshold val: > cat getnon0file.sh #!/bin/bash this="getnon0file.sh" USAGE=$this" InFile="xyz.38" Min="0.05" # awk '{sum=0; for(n=2; n<=NF; n++){sum+=$n};... (4 Replies)
Discussion started by: catalys
4 Replies

5. Shell Programming and Scripting

awk command for simple join command but based on 2 columns

input1 a_a a/a 10 100 a1 a_a 20 200 b1 b_b 30 300 input2 a_a a/a xxx yyy a1 a1 lll ppp b1 b_b kkk ooo output a_a a/a 10 100 xxx yyy (2 Replies)
Discussion started by: ruby_sgp
2 Replies

6. UNIX for Dummies Questions & Answers

Basic awk question...getting awk to act on $1 of the command itself

I have a script problem that I am not able to solve due my very limited understanding of unix/awk. This is the contents of test.sh awk '{print $1}' From the prompt if I enter: ./test.sh Hello World I would expect to see "Hello" but all I get is a blank line. Only then if I enter "Hello... (2 Replies)
Discussion started by: JasonHamm
2 Replies

7. Shell Programming and Scripting

awk/sed Command : Parse parameter file / send the lines to the ksh export command

Sorry for the duplicate thread this one is similar to the one in https://www.unix.com/shell-programming-scripting/88132-awk-sed-script-read-values-parameter-files.html#post302255121 Since there were no responses on the parent thread since it got resolved partially i thought to open the new... (4 Replies)
Discussion started by: rajan_san
4 Replies

8. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies
Login or Register to Ask a Question