count fields


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers count fields
# 1  
Old 12-06-2001
count fields

Is there a way to count the no. of fields (columns) in a file?
Actually I need to cut some fields starting from the middle to the end. How can I specify to cut till last field?

thanks in advance
Smilie
sskb
# 2  
Old 12-07-2001
You can use awk to do this. It's automatically stored in "NF":

ll |tail -1 |awk '{print NF}'
9

I bet you could do the whole thing in awk, but I'm not too good with awk, so maybe someone else can help with an example...
# 3  
Old 12-07-2001
file1:
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd
aaa bbb ccc ddd

If you are dealing with a fixed-column format, you can pull the columns you want with:

cut -c1-3,18-21 file1 > file2

cut command also works with columns (fields), but if the field delimiter is space, for example, multiple spaces in a row are seen as multiple field delimiters, thus making the field numbers very inconsistent. On the other hand, by default, awk considers any amount of white space as a single field delimiter. Following awk command will output fields 1 and 4 with one space between:

awk '{print $1,$4}' file1 > file2

For both solutions, file2 looks like:

aaa ddd
aaa ddd
aaa ddd
aaa ddd

awk can apply logic as to which lines to process, or process certain lines differently from others based on content, etc.
Jimbo
# 4  
Old 12-07-2001
im thinking something like
Code:
(host):/home0/  cat me
1c 2 3b 4aE2
(host):/home0/ sed 's/[^ ]*$//' me
1c 2 3b
(host):/home0/


I fixed it.

Last edited by Optimus_P; 12-07-2001 at 01:28 PM..
# 5  
Old 12-07-2001
As clarification, the sed solution, as coded, will drop the last two characters of each line that ends with two characters:
first character must be space, letter or digit
second character can be anything
otherwise will leave the line unchanged.
Jimbo
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How To Count Fields For Cut?

I am new to cut and I want to use the field option with a space delimiter on an Apache log file. For example, if I wanted to find the 200 HTTP code using cut in this manner on the file below cat access_abc.log | cut -d' ' -f7 | grep "200" 157.55.39.183 - - "GET /content/696-news041305... (4 Replies)
Discussion started by: sharingsunshine
4 Replies

2. Shell Programming and Scripting

Count blank fields in every line

Hello All, I am trying a one liner for finding the number of null columns in every line of my flat file. The format of my flat file is like this a|b|c|d||||e|f|g| a|b|c|d||||e|f|g| I want to count the number of fields delimited by "|" which are blank. In above case the count should be... (6 Replies)
Discussion started by: nnani
6 Replies

3. Shell Programming and Scripting

awk count fields not working

Hi, i am trying to count the fields in a file. Input: 100,1000,,2000,3000,10/26/2012 12:12:30 200,3000,,1000,01/28/2012 17:12:30 300,5000,,5000,7000,09/06/2012 16:12:30 output: Cout of the fileds for each row 6 5 6 awk -F"," '{print $NF}' file1.txt When i try with above awk... (3 Replies)
Discussion started by: onesuri
3 Replies

4. Shell Programming and Scripting

awk - count character count of fields

Hello All, I got a requirement when I was working with a file. Say the file has unloads of data from a table in the form 1|121|asda|434|thesi|2012|05|24| 1|343|unit|09|best|2012|11|5| I was put into a scenario where I need the field count in all the lines in that file. It was simply... (6 Replies)
Discussion started by: PikK45
6 Replies

5. UNIX for Dummies Questions & Answers

Count Fields with Quoted Field

Hi, I used to count number of fields using following command head -1 <filename> | awk -F"," '{print NF}' Now the scenario is the delimiter(comma) occurs inside one of the data field. How to ignore the comma inside data and consider only delimiter and count number of fields. The fields are... (1 Reply)
Discussion started by: ethanr100
1 Replies

6. Shell Programming and Scripting

Count the number of fields in column

Hi I was going through the below thread https://www.unix.com/shell-programming-scripting/48535-how-count-number-fields-record.html I too have something similar requirement as specified in this thread but the number of columns in my case can be very high, so I am getting following error. ... (3 Replies)
Discussion started by: shekharjchandra
3 Replies

7. Shell Programming and Scripting

To count distinct fields in a row

I have . dat file which contains data in a specific format: 0 3 892 921 342 1 3 921 342 543 2 4 817 562 718 765 3 3 819 562 717 761 i need to compare each field in a row with another field of the same column but different row and cont the... (8 Replies)
Discussion started by: Abhik
8 Replies

8. Shell Programming and Scripting

Get count on different fields along the raws in a file

Dear All, Please help me to do this. I have a file like this. 5|94662240807|94776109911|94776325901|94779007172|||||| 5|94112925421|94352240384|94352259199|94672229012|||||| 5|94714242745|94722952461|94777660793|94788914465|||||| 5|94242224624|94776145420|94776172499|94776531059|||||| ... (7 Replies)
Discussion started by: Nayanajith
7 Replies

9. Shell Programming and Scripting

How count number of fields in a record

Dear All , I have the query cat temp.txt |28-07-1997|IF_LEG_DCCT|TOV JV sdfsdfdsfdsfdsCLOSED* KIEV|381015280 I need to count the number of fields in this pipe-seperated file. I beleive this is possible via AWK command. The in above file, output of the count should be 5.... Can some-one... (5 Replies)
Discussion started by: sureshg_sampat
5 Replies

10. Shell Programming and Scripting

help me to count no of fields in a file

hi i am a new unix user i want to check whether a file contains spacefied no of fields if so i should delete last fields and then insert some fields in 2nd field please help me Thanks Regards babu :mad: (7 Replies)
Discussion started by: babu@shell
7 Replies
Login or Register to Ask a Question