Need help to get the nth field of the variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help to get the nth field of the variable
# 1  
Old 07-28-2011
Need help to get the nth field of the variable

Below is the format of my file which consist of


1)BSB
2)BSB/ADS
3)CIB
4)CIB/CRH
5)CIB/DCC
6)CIB/EMD
7)CIB/GDSPresentation
8)CIB/HCH
9)CIB/HSM
10)CIB/MCH
11)CIB/RCH
12)COB
13)DCI
14)DIB
15)DIB/H2H
16)DIB/HotelSync
17)DIB/UADBA
18)DSB
19)DSB/HotelETL
20)ESB-P
21)ESB-TOOLS
22)FareVerify
23)GCACHE
24)GWY
25)IBMSOAMB
26)IBMSOAWAS
27)ISM
28)KESTREL-DEV
29)KESTREL-UAPI
30)KESTREL-UAPI/branches
31)KESTREL-XD
32)LAMB
33)LinuxAutomation
34)MGLNO
35)PORTAL
36)PORTAL/AdminPortal
37)PORTAL/Common
38)PORTAL/TUD
39)PORTAL/UDP
40)repos4
41)SCMTools
42)SESTOKEN
43)SMB
44)SOA
45)SPLASH/branches
46)SPLASH/tags
47)SSB/SystemServices
48)STP
49)TOI
when I run my script then it ask me to enter the number and I get the desired output
for e.g. suppose I enter 46 then it will give me SPLASH/tags and if I enter 43 it will give me SMB so here my need is

When I enter 46 then it will print SPLASH/tags but I want or Is there any command through which I can print the nth or last field of the row
e.g. SPLASH/tags I want tags only
e.g.SMB Iwant only SMB

Thanks in advance
Rohit Singh
# 2  
Old 07-28-2011
Code:
 
echo "SPLASH/tags" | awk -F"/" '{print NF}'

# 3  
Old 07-28-2011
Code:
read I; awk -F")" -v i=$I '$1 == i {print $2}' infile
28
KESTREL-DEV

# 4  
Old 07-28-2011
Ah misunderstood; updated version since I can't edit my old post:
Code:
$> read I; awk -F"[)/]" -v i=$I '$1 == i {print $NF}' infile
46
tags
$> read I; awk -F"[)/]" -v i=$I '$1 == i {print $NF}' infile
28
KESTREL-DEV

# 5  
Old 07-28-2011
Hi

You code is correct but my requirement is little bit differ this

read I; awk -F")" -v i=$I '$1 == i {print $2}' temp.txt3

Requirment
after pressing repo. number it store the value in temp.txt3 file in below format so sometime it stores only SBS and sometime store DIB/H2H but if it store
DIB/H2H then I need H2H and if store SBS then I need SBS.
My flie is temp.txt3 after pressing the repo. number which stores the value
cat temp.txt3 (show the content of temp.txt3)
DIB/H2H

Now I want only H2H
# 6  
Old 07-28-2011
what abt my code ?
# 7  
Old 07-28-2011
Moderator's Comments:
Mod Comment Please use code tags, thanks. You got a PM with an explanation already - tell us if it is not clear how to use them. Else you might get infractions for not using code tags.


Yea check out itkamaraj's post and maybe my 2nd post, which should handle all cases in your posted file.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Help changing date format in the nth field

Hi, I have two (2) things that I want to do. First is to change the date format that is in the nth field from MM/DD/YY to YY/MM/DD. Preferably, I wish I know how to make it a 4-digit year but I don't. Problem is I can only assume it is a 20 century Second is somehow know how to figure out... (1 Reply)
Discussion started by: newbie_01
1 Replies

2. Shell Programming and Scripting

Replace pattern from nth field from a file

I have posted this again as old post is closed and I am not able to reopen. so please consider this new post Input File : 1,A,Completed,06.02_19.36,Jun 30 20:00 2,BBB,Failed,07.04_05.12,Jul 21 19:06 3,CCCCC,New,07.21_03.03,Jul 26 12:57 4,DDDDD,Pending,, I wast output file as: ... (7 Replies)
Discussion started by: Amit Joshi
7 Replies

3. Shell Programming and Scripting

Replace pattern from nth field from a file

$ cat /cygdrive/d/Final2.txt 1,A ,Completed, 07.03_23.01 ,Jun 30 20:00 2,BBB,Pending,, 3,CCCCC,Pending,, 4,DDDDD,Pending,, 5,E,Pending,, 6,FFFF,Pending,, 7,G,Pending,, In the above file 4th field is date which is in MM.DD_HH.MIN format and I need to convert it to as it is there in 5th... (1 Reply)
Discussion started by: Amit Joshi
1 Replies

4. Shell Programming and Scripting

Replace a value of Nth field of nth row

Using Awk, how can I achieve the following? I have set of record numbers, for which, I have to replace the nth field with some values, say spaces. Eg: Set of Records : 4,9,10,55,89,etc I have to change the 8th field of all the above set of records to spaces (10 spaces). Its a delimited... (1 Reply)
Discussion started by: deepakwins
1 Replies

5. Shell Programming and Scripting

Nth field should have space and rest commas

Hello I was working on a script where the output of my file is 1234 4567 8973 43214 78965 I need the value in below format of this file.The nth field should have space instead of ,(comma) 1234,4567,8973,43214 78965 I tried the code but not working completely xargs <temp_PP.7250... (3 Replies)
Discussion started by: anuragpgtgerman
3 Replies

6. UNIX for Dummies Questions & Answers

Print Nth to last field

Hey, I'm sure this is answered somewhere but my Googling has turned up nothing. I have a file with data in the following format: <desription of event> at <time and date>The desription of the event is variable length and hence when the list is displayed it is hard to easily see the date (and... (8 Replies)
Discussion started by: RECrerar
8 Replies

7. Shell Programming and Scripting

Awk product of nth field

How do I do the product of nth filed just like sum. For sum I know like awk '{ sum += $12 } END {printf "%.2f\n", sum}' works as initial sum = 0. But for product how do initialize the variable to 1? (2 Replies)
Discussion started by: madhavb
2 Replies

8. UNIX for Dummies Questions & Answers

change field separator only from nth field until NF

Hi ! input: 111|222|333|aaa|bbb|ccc 999|888|777|nnn|kkk 444|666|555|eee|ttt|ooo|ppp With awk, I am trying to change the FS "|" to "; " only from the 4th field until the end (the number of fields vary between records). In order to get: 111|222|333|aaa; bbb; ccc 999|888|777|nnn; kkk... (1 Reply)
Discussion started by: beca123456
1 Replies

9. Shell Programming and Scripting

How to Print from nth field to mth fields using awk

Hi, Is there any short method to print from a particular field till another filed using awk? Example File: File1 ==== 1|2|acv|vbc|......|100|342 2|3|afg|nhj|.......|100|346 Expected output: File2 ==== acv|vbc|.....|100 afg|nhj|.....|100 (8 Replies)
Discussion started by: machomaddy
8 Replies

10. Shell Programming and Scripting

awk substitute variable value in nth field

I have a large csv file that looks like this: The 3rd field is a unix time stamp that I want to convert to human readable. I wrote a bash script with this code: IFS=$',' cat $1 | while read ID user DATE text flags read; do echo -e "$ID,$user,$(date -d @$DATE),$text,$flags,$read... (3 Replies)
Discussion started by: stumpyuk
3 Replies
Login or Register to Ask a Question