Sponsored Content
Top Forums Shell Programming and Scripting How to put count for first element in a file at the end Post 302439112 by rdcwayx on Wednesday 21st of July 2010 10:51:32 PM
Old 07-21-2010
Count as zero if 1st column is empty, and don't count header and trailor.

Code:
awk  'BEGIN{FS=OFS="|"} {if ($1=="") {a[$0]=0} else {a[$0]++};b[NR]=$0} 
        END {print b[1]; for (i=2;i<NR;i++) print b[i] a[b[i]] "|" ;print b[NR]}' urfile

FHDR|ABC|20100607|
|ABC|8453|CDE|E166||||0|
123|ABC|8453|CDE|E166||||2|
123|ABC|8453|CDE|E166||||2|
111|ABC|8453|CDE|E166||||1|
124|ABC|8453|CDE|E166||||2|
124|ABC|8453|CDE|E166||||2|
TRLR|000000022|

If you count the 1st empty column, you can use below code:
Code:
awk '{a[$0]++;b[NR]=$0} END {print b[1]; for (i=2;i<NR;i++) print b[i] a[b[i]] "|" ;print b[NR]}' urfile

FHDR|ABC|20100607|
|ABC|8453|CDE|E166||||1|
123|ABC|8453|CDE|E166||||2|
123|ABC|8453|CDE|E166||||2|
111|ABC|8453|CDE|E166||||1|
124|ABC|8453|CDE|E166||||2|
124|ABC|8453|CDE|E166||||2|
TRLR|000000022|


Last edited by rdcwayx; 07-22-2010 at 12:08 AM..
This User Gave Thanks to rdcwayx For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

put a semicolon at the end of each line of a file

hi, Consider there is a file containing 200 lines. please let me know which command is to be used to put a semicolon at the end of each line. if no single command is there then how it can be achieved. (1 Reply)
Discussion started by: surjyap
1 Replies

2. Shell Programming and Scripting

to put date at the end of each line

#!/bin/ksh if test -f file6.txt then rm file6.txt fi a=`date +"%F"` awk '{print $0,"$a"}' file3.txt > file6.txt ----------------------------------------------------------------- i need to append date at the end of each line in file 3 and o/p it to file6.txt (3 Replies)
Discussion started by: ali560045
3 Replies

3. Shell Programming and Scripting

Line Count and Append it to the end of the file.

Hi, I want to get a Line count of a file and append that at the end of the file. The Line count should not include the Headers : ------------------ COL1,COL2,COL3 123,abc,011 111,abd,0212 Record Count: 2 ------------------- Thanks. (7 Replies)
Discussion started by: smc3
7 Replies

4. Programming

how to put element of an array to first position.

hi, I have a array like my $array = ( "apple","ball","cat","dog","elephant"); how to push some element in the array to the first position. for example my final array should be elephant apple ball cat dog (5 Replies)
Discussion started by: vprasads
5 Replies

5. Shell Programming and Scripting

Awk - Count instances of a number in col1 and put results in a col2 (new) of diff file

I have 2 files as follows: filename1: : 6742 /welcome/mundial98_ahf1_404.htm 1020 6743 /welcome/mundial98_ahf1_404.htm 2224 6744 /welcome/mundial_ef1_404.htm 21678 6745 /welcome/mundial_if_404.htm 4236 6746 /welcome/mundial_lf1_404.htm 21678 filename2: 6746 894694763 1... (2 Replies)
Discussion started by: jontjioe
2 Replies

6. Shell Programming and Scripting

put string end of the line

I've a problem to put .h end of the line..below my input file fg_a bb fg_b bb fg_c bb fg_d aa fg_f ee and i want the output file as below fg_a.h bb fg_b.h bb fg_c.h bb fg_d.h (6 Replies)
Discussion started by: zulabc
6 Replies

7. Shell Programming and Scripting

End of each line count the values in the file

Hi, How to find the end of character in the file. My requirement should be as below.1 is repeating 1 time ,2 is repeating 3 times... type 1: 1 type 2: 3 type 3: 2 9f680177|20077337258|0|0|0|1000004647916|1 9f680177|20077337258|0|0|0|1000004647916|2 9f680177 20077337258 0 0 0... (5 Replies)
Discussion started by: bmk
5 Replies

8. Shell Programming and Scripting

Put three points at the end of a line

Hello I have a file like this Anyway, if you are sincere in finding the druid Alcuin then you're going to need ships. die with the faith that you have stood shield to shield with your brothers. To honour, to glory, to a valiant death and then on to the hall of heroes. Skal! ... (6 Replies)
Discussion started by: thailand
6 Replies

9. Shell Programming and Scripting

How to append word count at end of file?

Hi guys, I have to append the word count of a file at the end of the file name like this - > "filename_2345" where 2345 is the word count of "filename". How do i achieve this using one command ? I am not allowed to store the word count in a variable and then concatenate. Request your... (1 Reply)
Discussion started by: peter2312
1 Replies

10. UNIX for Beginners Questions & Answers

Awk: count unique element of array

Hi, tab-separated input: blabla_1 A,B,C,C blabla_2 A,E,G blabla_3 R,Q,A,B,C,R,Q output: blabla_1 3 blabla_2 3 blabla_3 5 After splitting $2 in an array, I am trying to store the number of unique elements in a variable, but have some difficulties resetting the variable to 0 before... (6 Replies)
Discussion started by: beca123456
6 Replies
lreplace(1T)						       Tcl Built-In Commands						      lreplace(1T)

__________________________________________________________________________________________________________________________________________________

NAME
lreplace - Replace elements in a list with new elements SYNOPSIS
lreplace list first last ?element element ...? _________________________________________________________________ DESCRIPTION
lreplace returns a new list formed by replacing one or more elements of list with the element arguments. first and last specify the first and last index of the range of elements to replace. 0 refers to the first element of the list, and end (or any abbreviation of it) may be used to refer to the last element of the list. If list is empty, then first and last are ignored. If first is less than zero, it is considered to refer to the first element of the list. For non-empty lists, the element indicated by first must exist. If last is less than zero but greater than first, then any specified elements will be prepended to the list. If last is less than first then no elements are deleted; the new elements are simply inserted before first. The element arguments specify zero or more new arguments to be added to the list in place of those that were deleted. Each element argu- ment will become a separate element of the list. If no element arguments are specified, then the elements between first and last are sim- ply deleted. If list is empty, any element arguments are added to the end of the list. EXAMPLES
Replacing an element of a list with another: % lreplace {a b c d e} 1 1 foo a foo c d e Replacing two elements of a list with three: % lreplace {a b c d e} 1 2 three more elements a three more elements d e Deleting the last element from a list in a variable: % set var {a b c d e} a b c d e % set var [lreplace $var end end] a b c d SEE ALSO
list(1T), lappend(1T), lindex(1T), linsert(1T), llength(1T), lsearch(1T), lset(1T), lrange(1T), lsort(1T) | KEYWORDS
element, list, replace ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +--------------------+-----------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +--------------------+-----------------+ |Availability | SUNWTcl | +--------------------+-----------------+ |Interface Stability | Uncommitted | +--------------------+-----------------+ NOTES
Source for Tcl is available on http://opensolaris.org. Tcl 7.4 lreplace(1T)
All times are GMT -4. The time now is 11:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy