03-13-2013
From GNU AWK manual
Understanding $0
It is important to remember that $0 is the full record, exactly as it was read from the input. This includes any leading or trailing whitespace, and the exact whitespace (or other characters) that separate the fields.
It is a not-uncommon error to try to change the field separators in a record simply by setting FS and OFS, and then expecting a plain ‘print’ or ‘print $0’ to print the modified record.
But this does not work, since nothing was done to change the record itself. Instead, you must force the record to be rebuilt, typically with a statement such as ‘$1 = $1’, as described earlier.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I have these out put field seperator changed to "|" in my awk command, but it didn't give me the result.
Can someone help me find out why?
=======================================
/bin/awk 'BEGIN { OFS="|" } { print $0 }' list.tmp.$$ > listtmp.$$
=======================================... (1 Reply)
Discussion started by: whatsfordinner
1 Replies
2. Shell Programming and Scripting
OFS is inbuild command in awk.
I have a file file.txt
abc : def : ghi
jkl : mno: pqr
stu : vwx :yzz
code i used:
awk -F ":" 'BEGIN {OFS="|"} {print $1,$2}' file.txt
output:
abc def
jkl mno
stu vwx
but as i have used OFS="|" and i am expecting output as:
abc | def
jkl... (4 Replies)
Discussion started by: salil2012
4 Replies
3. Shell Programming and Scripting
Hi All,
I have a comma seperated delimited file with 10 columns. I need to convert it into TAB seperated delimited file.
awk -F"," '{print $1"\t"$2"\t"$3"\t"$4"\t"$5"\t"$6"\t"$7"\t"$8"\t"$9"\t"$10}' a.txt >> b.txt
how to use OFS to get the same output. I have tried by googling, but it... (5 Replies)
Discussion started by: Amit.Sagpariya
5 Replies
4. Shell Programming and Scripting
Hi,
I am trying to parse regular XML file where I have to reduce number of decimal points in some xml elements. I am using following AWK command to achive that :
#!/bin/ksh
EDITCMD='BEGIN { FS = ""; OFS=FS }
{
if ( $3 ~ "*\\.*" && length(substr($3,1+index($3,"."))) == 15 ) {... (4 Replies)
Discussion started by: martin.franek
4 Replies
5. UNIX for Dummies Questions & Answers
I have a file that looks like this:
Infile.seq
I want to output the DNA sequence and add the filename as the identifier. The output file should look like this:
I am using the following code but I do not understand why the sequence is not in the output:
awk 'BEGIN { RS =... (11 Replies)
Discussion started by: Xterra
11 Replies
6. Shell Programming and Scripting
Hi Im trying to tidy up the output of a who command when it writes to a log, everything I've tried doesnt seem to work though, any help would be massively appreciated. Im using the awk command to set the OFS as tab.
#!/bin/bash
who >> /export/home/tjmoore/logusers
awk -F 'BEGIN... (3 Replies)
Discussion started by: 02JayJay02
3 Replies
7. Shell Programming and Scripting
Hi, Could anyone tell me what Im doing wrong here any help will be much appreciated
#!/bin/bash
ls -ltr /export/home/tjmoore > /export/home/tjmoore/log100
awk -F " " /export/home/tjmoore/log100 'BEGIN {OFS="\t";} {print $1,$2,$3,$4,$5,
$6,$7,$8,$9;}' > /export/home/tjmoore/log1001
I... (9 Replies)
Discussion started by: 02JayJay02
9 Replies
8. UNIX for Dummies Questions & Answers
Hello,
I have an issue with adding commas as delimiters in this scenario:
cat xtr3.rpl|head -5|awk 'BEGIN {OFS=","} {print $1,$2,$3,$4}'
Produces this output:
00530083,0000000471,000000000000.00,000000000000.00
00530085,0000000471,000000000000.00,000000000000.00... (10 Replies)
Discussion started by: MIA651
10 Replies
9. Shell Programming and Scripting
Hi ,
I am having a problem with my awk oneliner , which for some reason leaves the first two records
Input File
$ cat file1
A1:B1:C1:NoLimit
M1:M2:M3:Limit
A2:B2:C2,C3,C4,C5
A3:B3:C3,C4,C5,C6,C7Desired output
A1,B1,C1,NoLimit
M1,M2,M3,Limit
A2,B2,C2
,,,C3
,,,C4
,,,C5
A3,B3,C3... (5 Replies)
Discussion started by: chidori
5 Replies
10. Shell Programming and Scripting
Why the following code printing duplicate records?
bash-4.1$ cat rm1
c1 c2 c3
l1 2 3 4
l2 2 3 2
bash-4.1$ awk '{print $0} OFS = "\n"' rm1
c1 c2 c3
c1 c2 c3
l1 2 3 4
l1 2 3... (4 Replies)
Discussion started by: quincyjones
4 Replies
LEARN ABOUT PHP
dbase_replace_record
DBASE_REPLACE_RECORD(3) 1 DBASE_REPLACE_RECORD(3)
dbase_replace_record - Replaces a record in a database
SYNOPSIS
bool dbase_replace_record (int $dbase_identifier, array $record, int $record_number)
DESCRIPTION
Replaces the given record in the database with the given data.
PARAMETERS
o $dbase_identifier
- The database link identifier, returned by dbase_open(3) or dbase_create(3).
o $record
- An indexed array of data. The number of items must be equal to the number of fields in the database, otherwise
dbase_replace_record(3) will fail.
Note
If you're using dbase_get_record(3) return value for this parameter, remember to reset the key named deleted.
o $record_number
- An integer which spans from 1 to the number of records in the database (as returned by dbase_numrecords(3)).
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
Updating a record in the database
<?php
// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);
if ($db) {
// gets the old row
$row = dbase_get_record_with_names($db, 1);
// remove the 'deleted' entry
unset($row['deleted']);
// Update the date field with the current timestamp
$row['date'] = date('Ymd');
// Replace the record
dbase_replace_record($db, $row, 1);
dbase_close($db);
}
?>
SEE ALSO
dbase_add_record(3), dbase_delete_record(3).
PHP Documentation Group DBASE_REPLACE_RECORD(3)