Reverse specific field number


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Reverse specific field number
# 8  
Old 10-31-2015
Try:
Code:
last | sort | awk '
NF < 7 {next
}
last != $1 {
	if(NR > 1)	print c
	if($5 ~ /^[0-9]+$/)
		printf("%s %s %s %s ", $1, $4, $5, $6)
	else	printf("%s %s %s %s ", $1, $5, $6, $7)
	last = $1
	c = 0
}
{	c++
}
END {	print c
}'

The second if statement in the awk script allows you to capture the data you want from local logins (and from the wtmp line) as well as from remote logins.

If you replace last in that pipeline with cat filename where filename is the name of a file that contains the data you provided in post #5, you'll get the output:
Code:
baranek13 Oct 1 09:32 2
jelencik13 Oct 1 09:12 1
kanuch14 Oct 1 10:27 1
knapik13 Oct 1 09:12 1
koren14 Oct 1 10:34 1
labaj13 Oct 1 09:22 1
lam13 Oct 1 08:33 1
lastinec Oct 1 09:52 2
nemec14 Oct 1 09:05 2
pavkovce14 Oct 1 09:10 1
slovikm13 Oct 1 08:49 1
vozar14 Oct 1 09:01 1
wtmp Oct 1 08:23:46 1

If you don't want the wtmp line to be included in your output, change the following line in the awk script:
Code:
NF < 7 {next

to:
Code:
NF < 8 {next

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to find number in a field then print the line and the number

Hi I want to use awk to match where field 3 contains a number within string - then print the line and just the number as a new field. The source file is pipe delimited and looks something like 1|net|ABC Letr1|1530||| 1|net|EXP_1040 ABC|1121||| 1|net|EXP_TG1224|1122||| 1|net|R_North|1123|||... (5 Replies)
Discussion started by: Mudshark
5 Replies

2. Shell Programming and Scripting

How to print with awk specific field different from specific character?

Hello, i need help with awk. I have this file: cat number DirB port 67 er_enc_out 0 er_bad_os 0 DirB port 71 er_enc_out 56 er_bad_os 0 DirB port 74 er_enc_out 0 er_bad_os 0 DirB port 75 ... (4 Replies)
Discussion started by: elilmal
4 Replies

3. Shell Programming and Scripting

How to reverse all columns of a file having some field separator?

Hello, I have a file: xandyandz x & y & z x*y*z*a I require output as: zandyandx z & y & x a*z*y*x here all lines have different field seperator (and & * )based on that i want to reverse the column of a file. Pl. help. (8 Replies)
Discussion started by: nehashine
8 Replies

4. UNIX for Dummies Questions & Answers

reverse first field from the file

Hi all, I have a file named file1as 07/25 00:10 d327490 07/25 00:55 d378299 07/25 03:58 d378299 07/25 06:14 d642035 07/25 12:44 c997126 and now i want to reverse the first filed ie 07/25 as 25/07 00:10 d327490 25/07 00:55 d378299 25/07 03:58 d378299 25/07 06:14 d642035 25/07... (5 Replies)
Discussion started by: zozoo
5 Replies

5. Shell Programming and Scripting

Using a reverse regex to create a number

Hi all, I'm having an issue about a code i should write... I have a file... with the following numbers in regex format: $ cat file_regex.txt 55500508007* 55500218200* 182936* 182929* 4179* 381* 550069341* So this is a file cointaing some regex... so for each regex i need to... (3 Replies)
Discussion started by: poliver
3 Replies

6. Shell Programming and Scripting

awk assign output of array to specific field-number

With this script i want to print the output to a specific field-number . Can anybody help? awk 'NR=FNR{split(FILENAME,fn,"_");nr=$2;f = $1} END{for (i=1;i<=f;i++) print i,$fn=nr}' input_5.csv input_6.csvinput_5.csv 4 135 5 185 6 85 11 30input_6.csv 1 90 3 58 4 135 7 60 8 55 10... (1 Reply)
Discussion started by: sdf
1 Replies

7. Shell Programming and Scripting

Replace specific field on specific line sed or awk

I'm trying to update a text file via sed/awk, after a lot of searching I still can't find a code snippet that I can get to work. Brief overview: I have user input a line to a variable, I then find a specific value in this line 10th field in this case. After asking for new input and doing some... (14 Replies)
Discussion started by: crownedzero
14 Replies

8. Shell Programming and Scripting

Adding total of first field for each number in the second field

Dears, I need a script or command which can find the unique number from the second filed and against that number it adds the total of first field . 17215630 , 0 907043 ,1 201050 ,10 394149 ,4 1964 ,9 17215630, 0 907043 ,1 201050, 10 394149 ,4 1964 ,9 1234234, 55 23 ,100 33 ,67 ... (2 Replies)
Discussion started by: shary
2 Replies

9. Shell Programming and Scripting

Sorting on two fields time field and number field

Hi, I have a file that has data in it that says 00:01:48.233 1212 00:01:56.233 345 00:09:01.221 5678 00:12:23.321 93444 The file has more line than this but i just wanted to put in a snippet to ask how I would get the highest number with time stamp into another file. So from the above... (2 Replies)
Discussion started by: pat4519
2 Replies

10. Shell Programming and Scripting

cut a field, but with reverse order

Hi Everyone, I have one a.txt: a b 001 c b b 002 c c c, not 002 c The output should be 001 002 002 If i use cut -f 3 -d' ', this does not work on the 3rd line, so i thought is any way to cut the field counting from the end? or any perl thing can do this?:confused: ... (3 Replies)
Discussion started by: jimmy_y
3 Replies
Login or Register to Ask a Question