@cts. bala@ the difference occurs not because of awk versions but because you are using different different data samples. With bala's data sample this part of ctsgnb's code is problematic: sub(".*"$3,$3) , which matches upto the last occurence of "this", because of greedy matching..
--
@cts: nice sed/xargs
@bala: thanks
@Scruti
Ah ok ... i got it now (gush!, how did i miss it !) , thx !
The $1=$1 is not strictly necessary with the sample provided, but it gives the script robustness since if the data were to include TABs or multiple spaces or if there were a space before the first field, then it might break otherwise...
Yes the $1=$1 trims the blanks, so that we can be sure there is no leading whitespace and and only a single space separating the fields, so that the subs can be successful..
For example:
This User Gave Thanks to Scrutinizer For This Post:
could you please explain how does the below code works ?
sub(FS,RS); sub(FS,RS)
sub(FS,RS) substitue the Field Separator (whose default value is a space " ") with a Record Separator (whose default value is a newline "\n")
It does this substitution only once , so the first FS met is changed into a RS.
That is the reason why it is important to make sure that the first FS encountered is one between the fist field $1 and second field $2.
sub(".*"$3,$3) replace in the current line ($0) everthing before and including $3 by the current value of $3
print a"\n"$0 print the variable a and the current line separated by a new line
by refering above file t1,current value of $3 is 'this' right ? , i am bit confused,could you please explain hw does this code works
, will it returns the value 'this' or 'This is a comment'
please help me ............i am a newbie ..................
---------- Post updated at 06:34 PM ---------- Previous update was at 04:45 PM ----------
got it....
looks like above code does not give desired results, if the file contains string (this)which is repeated as below
# cat t1
1 2 This is a comment this is not a comment this this1
Hello there
I'd like to make a copy of 2nd column and have it printed in place of column 1. Remaining columns are needed as it.
test data:
ProbeSet GeneSymbol X22565285 X22566285
ILMN_1050008 MYOCD 6.577 7.395
ILMN_1050014 GPRC6A 6.595 6.668
ILMN_1050017 ... (2 Replies)
Greetings Experts,
We are migrating from AIX to RHEL Linux. I have created a script to verify and report the NULLs and SPACEs in the key columns and duplicates on key combination of "|" delimited set of big files. Following is the code that was successfully running in AIX.
awk -F "|" 'BEGIN {... (5 Replies)
Hi, awk seem to be acting differently in Unix and Linux when it comes to formatting. This is making it difficult to migrate scripts.
for example:
UNIX:
echo "123" |awk '{printf ("%05s\n" ,$1)}'
00123
echo "123" |awk '{printf ("%05d\n" ,$1)}'
00123
echo "S12" |awk '{printf ("%05s\n"... (9 Replies)
I'm trying to write a bash script to perform basic arithmetic operations but I want to run a comparison on the arguments first to check that they're a number greater than zero.
I want an error to pop up if the arguments args aren't >= 0 so I have:
if ! ]; then
echo "bad number: $1"
fi
... (14 Replies)
Hi, I need to display the last column value in the below o/p.
sam2 PS 03/10/11 0 441
Unable to get o/p with this awk code
awk -F"+" '{ print $4 }' pwdchk.txt
I need to display 441(in this eg.) and also accept it as a variable to treat it with if condition and take a decision.... (1 Reply)
Is there a way to treat a string as date and compare it to the current date?
lets assum inpu lik
$ cat myfile
Name Last login
**************************
Sara 2/13/2012
kalpeer 2/15/2012
ygemici 2/14/2012
we want to display the name who logged in during the last #... (4 Replies)
I have a file list.txt which has a list of file names with spaces between the file names like
/emptydir/file 1
how do i browse through the list.txt displaying the filenames. Almost all the file names in list.txt have space between them.This file list.txt is formed by using the find statement to... (5 Replies)
Hi,
I'm looking for a script that receives the traps from a windows machine and treate them. For exemple just write a line in a file on UNIX server. Can you help me ?
Thank you. (2 Replies)
Hi,
I need some advise on treating non printable chars over ascii value 126
Case 1 :
On some fields in the text , I need to retiain then 'as-is' and load to a database.I understand it also depends on database codepage.
but i just wanna know how do i ensure it do not change while loading... (1 Reply)