Sponsored Content
Top Forums Shell Programming and Scripting awk multiple fields separators Post 302927170 by Akshay Hegde on Monday 1st of December 2014 10:06:31 AM
Old 12-01-2014
For given sample input this will work

Either setting FS
Code:
awk -F'"|=' '{split($4,A,/\//); print A[2],"["$2"]("$NF")","["$4"]"}' OFS=, infile

OR lengthy match
Code:
awk '{print substr($0,match($0,/"\/[^"\/]*/)+2,RLENGTH-2), "["substr($0,match($0,/"[^"]*"/)+1,RLENGTH-2)"]("substr($0,match($0,/[^netbios=]*$/))")","["substr($0,match($0,/"\/[^"]*/)+1,RLENGTH-1)"]"}' OFS=, infile


Code:
awk '
     {
	f1 = substr($0,match($0,/"\/[^"\/]*/)+2,RLENGTH-2)
	f2 = sprintf("[%s](%s)",substr($0,match($0,/"[^"]*"/)+1,RLENGTH-2),substr($0,match($0,/[^netbios=]*$/)))
	f3 = sprintf("[%s]",substr($0,match($0,/"\/[^"]*/)+1,RLENGTH-1))
	
	print f1,f2,f3
     } 
    ' OFS=, infile


Last edited by Akshay Hegde; 12-01-2014 at 11:25 AM..
This User Gave Thanks to Akshay Hegde For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Awk Multiple Field Separators

Hi Guys, I'm tying to split a line similar to this:YO6-2000-30.htm: (3 properties found).......into separate columns, so effectively I need to check for a -, ., :, a tab and a space in the statement. Any help would be appreciated Thanks! (7 Replies)
Discussion started by: Tonka52
7 Replies

2. Shell Programming and Scripting

I need help counting the fields and field separators using Nawk

I need help counting the fields and field separators using Nawk. I have a file that has multiple lines on it and I need to read the file 1 at a time and then count the fields and field separators and then store those numbers in variables. I then need to delete the first 5 fields and the blank... (3 Replies)
Discussion started by: scrappycc
3 Replies

3. Shell Programming and Scripting

Multiple input field Separators in awk.

I saw a couple of posts here referencing how to handle more than one input field separator in awk. I figured I would share how I (just!) figured out how to turn this line in a logfile: 90000000000000000000010001 name... (4 Replies)
Discussion started by: kinksville
4 Replies

4. UNIX for Dummies Questions & Answers

Multiple field separators in awk? (First a space, then a colon)

How do I deal with extracting a portion of a record when multiple field separators are involved. Let's say I have: Mike Harrington;(555) 555-5555:250:100:175 Christian Dobbins;(555) 555-2358:155:90:201 Susan Dalsass;(555) 555-6279:250:60:50 Archie McNichol;(555) 555-1348:250:100:175 Jody... (3 Replies)
Discussion started by: doubleminus
3 Replies

5. Shell Programming and Scripting

AWK multiple fields separators

I need to print the second field of a file, taking spaces, tab and = as field separators. ; for 16-bit app support MAPI=1 CMC=1 CMCDLLNAME32=mapi32.dll CMCDLLNAME=mapi.dll MAPIX=1 MAPIXVER=1.0.0.1 OLEMessaging=1 asf=MPEGVideo asx=MPEGVideo ivf=MPEGVideo m3u=MPEGVideo (2 Replies)
Discussion started by: PamPam
2 Replies

6. Shell Programming and Scripting

awk gsub multiple fields

Hi, I am trying to execute this line awk -F ";" -v OFS=";" '{gsub(/\./,",",$6); print}' FILE but for multiple fields $6 $7 $8 Do you have a suggstion? Tried: awk -F ";" -v OFS="";"" "function GSUB( F ) {gsub(/\./,\",\",$F); print} { GSUB( 6 ); GSUB( 7 ); GSUB( 8 ) } 1"... (2 Replies)
Discussion started by: nakaedu
2 Replies

7. Shell Programming and Scripting

Multiple long field separators

How do I use multiple field separators in awk? I know that if I use awk -F"", both a and b will be field separators. But what if I need two field separators that both are longer than one letter? If I want the field separators to be "ab" and "cd", I will not be able to use awk -F"". The ... (2 Replies)
Discussion started by: locoroco
2 Replies

8. Shell Programming and Scripting

Replace 0 with 1 in multiple fields with awk

Hello, I have the following input file: 1 3 3 2 3 3 4 0 4 0 5 4 5 2 2 0 5 3 4 0 6 0 3 2 I am trying to remove all zeroes in fields 2 and 4 and replace them with "1's" I tried the following, but it's not working awk -F"\t" '{ if (($2==0) || ($4==0) $2=1; $4=1; print $0 ) }' input ... (8 Replies)
Discussion started by: Rabu
8 Replies

9. Shell Programming and Scripting

awk multiple filed separators

There is an usual ifconfig output vlan30 Link encap:Ethernet HWaddr inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: 2407:4c00:0:1:aaff::1/64 Scope:Global inet6 addr: fe80::224:e8ff:fe6b:cc4f/64 Scope:Link UP BROADCAST... (1 Reply)
Discussion started by: urello
1 Replies

10. Shell Programming and Scripting

Print multiple fields with awk

so its common knowledge one can print multiple fields with simple commands like this: echo 12 44 45 552 24 | awk '{print $1,$4,$3}' but suppose i want to avoid specifying the "$" symbol. is that possible? can something like this be done: echo 12 44 45 552 24 | awk '{print $(1,4,3)}' ... (9 Replies)
Discussion started by: SkySmart
9 Replies
tapset::string(3stap)													     tapset::string(3stap)

NAME
tapset::string - systemtap string tapset DESCRIPTION
strlen Returns the length of a string See function::strlen(3stap) for details. substr Returns a substring See function::substr(3stap) for details. stringat Returns the char at a given position in the string See function::stringat(3stap) for details. isinstr Returns whether a string is a substring of another string See function::isinstr(3stap) for details. text_str Escape any non-printable chars in a string See function::text_str(3stap) for details. text_strn Escape any non-printable chars in a string See function::text_strn(3stap) for details. - strtol Convert a string to a long See function::-strtol(3stap) for details. isdigit Checks for a digit See function::isdigit(3stap) for details. SEE ALSO
function::strlen(3stap), function::substr(3stap), function::stringat(3stap), function::isinstr(3stap), function::text_str(3stap), function::text_strn(3stap), function::-(3stap), function::strtol(3stap), function::isdigit(3stap), stap(1), stapprobes(3stap) IBM
--- tapset::string(3stap)
All times are GMT -4. The time now is 04:07 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy