Awk : too many files 10


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Awk : too many files 10
# 8  
Old 04-26-2010
Yes I m on solaris. I have tried with nawk as well.Please find the code below.

Code:
#vi filewk

#!/usr/bin/nawk -f 
{
output=$1".txt"
printf >> output
close(output)
}

#nawk -f filewk FileDiskUsage

I m getting all the files but each file containing only last record of userid coulmn.

For your reference,

Code:
1001415425.txt
1001415425 Unknown 4.8G 

1001415426.txt
1001415426 Unknown 2.8G 

1001415427.txt
1001415427 Unknown 5.3G

I need to get all the records belong each user. what was wrong with the above code?

Last edited by Franklin52; 04-26-2010 at 03:17 AM.. Reason: Please use code tags!
# 9  
Old 04-26-2010
On Solaris,

Code:
$ cat buf
1001415425 Unknown 5.7G
1001415425 Unknown 5.3G
1001415425 Unknown 4.8G
1001415426 Unknown 5.8G
1001415426 Unknown 2.8G
1001415427 Unknown 1.8G
1001415427 Unknown 5.3G
1001415428 Unknown 5.8G
1001415428 Unknown 5.2G
1001415429 Unknown 3.8G
1001415429 Unknown 1.3G
1001415429 Unknown 3.1G
$ awk '{ f=$1".txt"; print >> f ; close(f) }' buf
$ ls 1001415*
1001415425.txt
1001415426.txt                    
1001415427.txt
1001415428.txt
1001415429.txt
$ cat 1001415425.txt
1001415425 Unknown 5.7G
1001415425 Unknown 5.3G
1001415425 Unknown 4.8G
$ cat 1001415426.txt
1001415426 Unknown 5.8G
1001415426 Unknown 2.8G

# 10  
Old 04-26-2010
I tried your code .. But the problem is output will be more than 15 files,So its giving me awk: too many output files 10 error.
# 11  
Old 04-26-2010
I don't think 15 files are that much of a problem. Something else is wrong. Another way to do it would be

Code:
$ for f in $(cut -f 1 -d ' ' buf); do grep $f buf > $f.txt ; done
$ ls 100141542*
1001415425.txt   1001415426.txt   1001415427.txt   1001415428.txt   1001415429.txt

# 12  
Old 04-26-2010
Thanks a lot. I resolved the issue with help of your code.

Thank you very much.
# 13  
Old 04-26-2010
Just read about awk's limitations on number of open files. Seems like awk can only have 15 files open at a time and for nawk its 20.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How do you tell awk to use different files?

Hi everyone, How can you tell awk to switch the input file at a given point in the program when you you have multiple file inputs? I always assumed that if you divided your code into blocks, awk would understand that the first block contains instructions for file1, the second block contains... (5 Replies)
Discussion started by: Avro1986
5 Replies

2. 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

3. Shell Programming and Scripting

awk, multiple files input and multiple files output

Hi! I'm new in awk and I need some help. I have a folder with a lot of files and I need that awk do something in each file and print a new file with the output. The input file name should be modified when I print the outpu files. Thanks in advance for help! :-) ciao (5 Replies)
Discussion started by: gabrysfe
5 Replies

4. Shell Programming and Scripting

Comparing the matches in two files using awk when both files have their own field separators

I've two files with data like below: file1.txt: AAA,Apples,123 BBB,Bananas,124 CCC,Carrot,125 file2.txt: Store1|AAA|123|11 Store2|BBB|124|23 Store3|CCC|125|57 Store4|DDD|126|38 So,the field separator in file1.txt is a comma and in file2.txt,it is | Now,the output should be... (2 Replies)
Discussion started by: asyed
2 Replies

5. Shell Programming and Scripting

Apply 'awk' to all files in a directory or individual files from a command line

Hi All, I am using the awk command to replace ',' by '\t' (tabs) in a csv file. I would like to apply this to all .csv files in a directory and create .txt files with the tabs. How would I do this in a script? I have the following script called "csvtabs": awk 'BEGIN { FS... (4 Replies)
Discussion started by: ScKaSx
4 Replies

6. UNIX for Dummies Questions & Answers

Using AWK: Extract data from multiple files and output to multiple new files

Hi, I'd like to process multiple files. For example: file1.txt file2.txt file3.txt Each file contains several lines of data. I want to extract a piece of data and output it to a new file. file1.txt ----> newfile1.txt file2.txt ----> newfile2.txt file3.txt ----> newfile3.txt Here is... (3 Replies)
Discussion started by: Liverpaul09
3 Replies

7. Shell Programming and Scripting

Comparison and editing of files using awk.(And also a possible bug in awk for loop?)

I have two files which I would like to compare and then manipulate in a way. File1: pictures.txt 1.1 1.3 dance.txt 1.2 1.4 treehouse.txt 1.3 1.5 File2: pictures.txt 1.5 ref2313 1.4 ref2345 1.3 ref5432 1.2 ref4244 dance.txt 1.6 ref2342 1.5 ref2352 1.4 ref0695 1.3 ref5738 1.2... (1 Reply)
Discussion started by: linuxkid
1 Replies

8. UNIX for Dummies Questions & Answers

Using Awk within awk to read all files in directory

I am wondering if anyone has any idea how to use an awk within awk to read files and find a match which adds to count. Say I am searching how many times the word crap appears in each files within a directory. How would i do that from the command prompt ... thanks (6 Replies)
Discussion started by: flevongo
6 Replies

9. Shell Programming and Scripting

Merge files of differrent size with one field common in both files using awk

hi, i am facing a problem in merging two files using awk, the problem is as stated below, file1: A|B|C|D|E|F|G|H|I|1 M|N|O|P|Q|R|S|T|U|2 AA|BB|CC|DD|EE|FF|GG|HH|II|1 .... .... .... file2 : 1|Mn|op|qr (2 Replies)
Discussion started by: shashi1982
2 Replies

10. Shell Programming and Scripting

Splitting input files into multiple files through AWK command

Hi, I needs to split *.txt files from single directory depends on the some mutltiple input values. i have wrote the code like below for file in *.txt do grep -i -h "value1|value2" $file > $file; done. My requirment is more input values needs to be given in grep; let us say 50... (3 Replies)
Discussion started by: arund_01
3 Replies
Login or Register to Ask a Question