Since in the second example, where the FS is set to default, NF has no relation with the number of comma separated elements in $2 and $2-1 is unlikely to do what you want..
Compare:
It is probably best to use split() with a comma as separator on $2 to get the fields that you want..
hi..
I have a file having record on in 1 line....
I want every 400 characters in a new line...
means in 1st line 1-400
in 2nd line - 401-800 etc
pl help. (12 Replies)
I need a script to process a huge single line text file:
The sample of the text is:
"forward_inline_item": "Inline", "options_region_Australia": "Australia", "server_event_err_msg": "There was an error attempting to save", "Token": "Yes", "family": "Family","pwd_login_tab": "Enter Your... (1 Reply)
Hi Very much appreciate if somebody could give me a clue ..
I undestand that it could be done with awk but have a limited experience.
I have the following text in the file
1 909 YES NO
2 500 No NO
.
...
1 ... (8 Replies)
Hello Gurus,
I have a text file containing nearly 12,000 tab delimited characters with 4000 rows. If the file size is small, excel can convert the text into coloumns. However, the file that I have is very big. Can some body help me in solving this problem?
The input file example,
... (6 Replies)
I have a text file that has three columns. But at the end of the text file, there are trailing lines that have missing second and third columns:
4 0.04972604 KLHL28
4 0.0497332 CSTB
4 0.04979822 AIF1
4 0.04983331 DECR2
4 0.04990344 KATNB1
4
4
4
4
How can I remove the trailing... (3 Replies)
Hello,
I extracted a list of files in a directory with the command ls . However this is not my computer, so the ls functionality has been revamped so that it gives the filesizes in front like this :
This is the output of ls command : I stored the output in a file filelist
1.1M... (5 Replies)
Hello,
I want to concatenate 2-columns by 2-columns separated by colon. How can I do so? For example, I have a text file containing 6 columns separated by tab. I want to concatenate column 1 and 2; column 3 and 4; column 5 and 6, respectively, and put a colon in between.
input file:
1 0 0 1... (10 Replies)
Hi,
I'm using awk to print columns from a tab delimited text file:
awk '{print " "$2" "$3" $6"}' file
The problem I have is column 6 contains text with spaces etc which means awk only prints the first word.
How can I tell awk to print the whole column content as column 6?
Thanks, (10 Replies)
I dispose of two tab-delimited files (the first column is the primary key):
File 1 (there are multiple rows sharing the same key, I cannot merge them)
A 28,29,30,31
A 17,18,19
B 11,13,14,15
B 8,9File 2 (there is one only row beginning with a given key)
A 2,8,18,30,31
B ... (3 Replies)
Hi,my file is in this format
",
\"symbol\": \"Rbm38\"
} ]"
I want to convert it to a more user readable format
_id pubmed text symbol
67196 18667844 Overexpression of UBE2T in NIH3T3 cells significantly promoted colony formation in mouse cell cultures Ube2t
56190 21764855 ... (3 Replies)
Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommUseraContPerl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements(3pm)NAME
Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements - Don't use the comma operator as a statement separator.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Perl's comma statement separator has really low precedence, which leads to code that looks like it's using the comma list element separator
not actually doing so. Conway suggests that the statement separator not be used in order to prevent this situation.
The confusion that the statement separator causes is primarily due to the assignment operators having higher precedence.
For example, trying to combine two arrays into another like this won't work:
@x = @y, @z;
because it is equivalent to
@x = @y;
@z;
Conversely, there are the built-in functions, like "print", that normally force the rest of the statement into list context, but don't when
called like a subroutine.
This is not likely to produce what is intended:
print join q{, }, 2, 3, 5, 7, ": the single-digit primes.
";
The obvious fix is to add parentheses. Placing them like
print join( q{, }, 2, 3, 5, 7 ), ": the single-digit primes.
";
will work, but
print ( join q{, }, 2, 3, 5, 7 ), ": the single-digit primes.
";
will not, because it is equivalent to
print( join q{, }, 2, 3, 5, 7 );
": the single-digit primes.
";
CONFIGURATION
This policy can be configured to allow the last statement in a "map" or "grep" block to be comma separated. This is done via the
"allow_last_statement_to_be_comma_separated_in_map_and_grep" option like so:
[ValuesAndExpressions::ProhibitCommaSeparatedStatements]
allow_last_statement_to_be_comma_separated_in_map_and_grep = 1
With this option off (the default), the following code violates this policy.
%hash = map {$_, 1} @list;
With this option on, this statement is allowed. Even if this option is off, using a fat comma "=>" works, but that forces stringification
on the first value, which may not be what you want.
BUGS
Needs to check for "scalar( something, something )".
AUTHOR
Elliot Shank "<perl@galumph.com>"
COPYRIGHT
Copyright (c) 2007-2011 Elliot Shank.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
perl v5.14.2Perl::Critic::Policy::ValuesAndExpressions::ProhibitCommaSeparatedStatements(3pm)