02-24-2009
OFS in awk.
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 | mno
stu | vwx
I am on the rite track?
plz ne 1 help me...
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
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
3. 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
4. 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
5. 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
6. 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
7. 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
8. Shell Programming and Scripting
file:
sasa|asasa|asasa|asas
erer|Erer|rere|ererer
Output needed :
sasa:asasa:asasa:asas
erer:Erer:rere:ererer
Im getting output, when i use the $1,$2.
awk -F'|' 'BEGIN{OFS=":";} {print $1,$2; }' file
Output :
sasa:asasa
erer:Erer
But when i need the whole column, i... (5 Replies)
Discussion started by: Ramesh M
5 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
subst(n) Tcl Built-In Commands subst(n)
__________________________________________________________________________________________________________________________________________________
NAME
subst - Perform backslash, command, and variable substitutions
SYNOPSIS
subst ?-nobackslashes? ?-nocommands? ?-novariables? string
_________________________________________________________________
DESCRIPTION
This command performs variable substitutions, command substitutions, and backslash substitutions on its string argument and returns the
fully-substituted result. The substitutions are performed in exactly the same way as for Tcl commands. As a result, the string argument
is actually substituted twice, once by the Tcl parser in the usual fashion for Tcl commands, and again by the subst command.
If any of the -nobackslashes, -nocommands, or -novariables are specified, then the corresponding substitutions are not performed. For
example, if -nocommands is specified, command substitution is not performed: open and close brackets are treated as ordinary characters
with no special interpretation.
Note that the substitution of one kind can include substitution of other kinds. For example, even when the -novariables option is speci-
fied, command substitution is performed without restriction. This means that any variable substitution necessary to complete the command
substitution will still take place. Likewise, any command substitution necessary to complete a variable substitution will take place, even
when -nocommands is specified. See the EXAMPLES below.
If an error occurs during substitution, then subst will return that error. If a break exception occurs during command or variable substi-
tution, the result of the whole substitution will be the string (as substituted) up to the start of the substitution that raised the excep-
tion. If a continue exception occurs during the evaluation of a command or variable substitution, an empty string will be substituted for
that entire command or variable substitution (as long as it is well-formed Tcl.) If a return exception occurs, or any other return code is
returned during command or variable substitution, then the returned value is substituted for that substitution. See the EXAMPLES below.
In this way, all exceptional return codes are "caught" by subst. The subst command itself will either return an error, or will complete
successfully.
EXAMPLES
When it performs its substitutions, subst does not give any special treatment to double quotes or curly braces (except within command sub-
stitutions) so the script
set a 44
subst {xyz {$a}}
returns "xyz {44}", not "xyz {$a}" and the script
set a "p} q {r"
subst {xyz {$a}}
returns "xyz {p} q {r}", not "xyz {p} q {r}".
When command substitution is performed, it includes any variable substitution necessary to evaluate the script.
set a 44
subst -novariables {$a [format $a]}
returns "$a 44", not "$a $a". Similarly, when variable substitution is performed, it includes any command substitution necessary to
retrieve the value of the variable.
proc b {} {return c}
array set a {c c [b] tricky}
subst -nocommands {[b] $a([b])}
returns "[b] c", not "[b] tricky".
The continue and break exceptions allow command substitutions to prevent substitution of the rest of the command substitution and the rest
of string respectively, giving script authors more options when processing text using subst. For example, the script
subst {abc,[break],def}
returns "abc,", not "abc,,def" and the script
subst {abc,[continue;expr {1+2}],def}
returns "abc,,def", not "abc,3,def".
Other exceptional return codes substitute the returned value
subst {abc,[return foo;expr {1+2}],def}
returns "abc,foo,def", not "abc,3,def" and
subst {abc,[return -code 10 foo;expr {1+2}],def}
also returns "abc,foo,def", not "abc,3,def".
SEE ALSO
Tcl(n), eval(n), break(n), continue(n)
KEYWORDS
backslash substitution, command substitution, variable substitution
Tcl 7.4 subst(n)