Count the number of subset of files in a directory


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Count the number of subset of files in a directory
# 8  
Old 01-28-2013
Try something, like this:
Code:
awk -F_ '{A[$1 FS $2]++} END {for (j in A) if (A[j] > 5) printf "%s ",j; print ""}'

The first argument to printf is a format field.
# 9  
Old 01-28-2013
That worked, thanks so much

But while waiting for your reply I also found that if I remove the "," in the printf argument in my original code, so that

Code:
ls | awk -F_ '{A[$1 FS $2]++} END {for (j in A) if (A[j] > 5) printf j " "}'

It worked, which is against I have read in the syntaxing of the awk/printf code. Don't know, something to do with the shell (zsh) I am using or other reason I don't understand.

Last edited by Scrutinizer; 01-28-2013 at 10:40 AM.. Reason: code tags
# 10  
Old 01-28-2013
Yes, in that cat j an " " are concatenated, so printf then uses the resulting string as a single argument. However, I would not recommend using printf with data in the format field.


--
Could you please use code tags BTW

Last edited by Scrutinizer; 01-28-2013 at 10:43 AM..
# 11  
Old 01-28-2013
I can't seem to get the printf to work probably. For example

Code:
ls | awk -F_ '{A[$1 FS $2]++} END {for (j in A) print j, A[j]}'

would output

Code:
data_1 200
data_2 34

while the equivalent command with printf

Code:
ls | awk -F_ '{A[$1 FS $2]++} END {for (j in A) printf j, A[j]}'

would only output

Code:
data_1data_2

while ignoring the A[j]

The reason why I want to do this is because I want to line up the output nicer, as at the moment for my test directory I am getting (while using the \t key)

Code:
loooooooooger_prefix1     200
shorter_prefix2         34

but I want to get

Code:
loooooooooger_prefix1     200
shorter_prefix2                  34

---------- Post updated at 10:23 AM ---------- Previous update was at 10:21 AM ----------

sorry my message format wasnt displayed probably

but I want to output the prefix and the number of files with each prefix aligned in a column. Using the \t doesn't work too well if the prefix has different length.

Last edited by Scrutinizer; 01-28-2013 at 11:28 AM.. Reason: code tags
# 12  
Old 01-28-2013
Like this?
Code:
awk -F_ '{A[$1 FS $2]++} END {for (j in A) if (A[j] > 5) printf "%-30s%5d\n",j, A[j]}'

please use code tags, pyinik..
# 13  
Old 01-28-2013
Thanks it worked.

Apology for the code tag issue.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Count number of pattern matches per line for all files in directory

I have a directory of files, each with a variable (though small) number of lines. I would like to go through each line in each file, and print the: -file name -line number -number of matches to the pattern /comp/ for each line. Two example files: cat... (4 Replies)
Discussion started by: pathunkathunk
4 Replies

2. Shell Programming and Scripting

Count number of files

Hi All! I need to have a script that counts the number of files arriving in a landing directory, them some app pick these files to be processed and load to a DB. But this process is so fast that I am not able to count all the files arriving on a landing directory. Please can you help? My... (6 Replies)
Discussion started by: fretagi
6 Replies

3. Shell Programming and Scripting

How to count number of files in directory and write to new file with number of files and their name?

Hi! I just want to count number of files in a directory, and write to new text file, with number of files and their name output should look like this,, assume that below one is a new file created by script Number of files in directory = 25 1. a.txt 2. abc.txt 3. asd.dat... (20 Replies)
Discussion started by: Akshay Hegde
20 Replies

4. Shell Programming and Scripting

How to count the number of files starting with a pattern in a Directory

Hi! In our current directory there are around 35000 files. Out of these a few thousands(around 20000) start with, "testfiles9842323879838". I want to count the number of files that have filenames starting with the above pattern. Please help me with the command i could use. Thank... (7 Replies)
Discussion started by: atechcorp
7 Replies

5. Shell Programming and Scripting

Count the number of words in some subset of file and disregard others

Hi All, I have some 6000 text files in a directory. My files are named like 1.txt, 2.txt 3.txt and so on until 6000.txt. I want to count the "number of words" in only first 3000 of them. Any suggestions? I know wc -w can count the number of words in a text file. I am using Red Hat Linux. (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

6. UNIX for Dummies Questions & Answers

Count number of files in directory excluding existing files

Hi, Please let me know how to find out number of files in a directory excluding existing files..The existing file format will be unknown..each time.. Thanks (3 Replies)
Discussion started by: ammu
3 Replies

7. Shell Programming and Scripting

perl script on how to count the total number of lines of all the files under a directory

how to count the total number of lines of all the files under a directory using perl script.. I mean if I have 10 files under a directory then I want to count the total number of lines of all the 10 files contain. Please help me in writing a perl script on this. (5 Replies)
Discussion started by: adityam
5 Replies

8. UNIX for Dummies Questions & Answers

Read directory files and count number of lines

Hello, I'm trying to create a BASH file that can read all the files in my working directory and tell me how many words and lines are in that file. I wrote the following code: FILES="*" for f in "$FILES" do echo -e `wc -l -w $f` done My issue is that my file is outputting in one... (4 Replies)
Discussion started by: jl487
4 Replies

9. Shell Programming and Scripting

count number of files in a directory

what's the script to do that? i want to only count the number of files in that directory, not including any sub directories at all (5 Replies)
Discussion started by: finalight
5 Replies

10. Shell Programming and Scripting

Count the number of files in a directory

Hi All, How do i find out the number of files in a directory using unix command ? (14 Replies)
Discussion started by: Raynon
14 Replies
Login or Register to Ask a Question