01-28-2008
AWK - conditional cause
Hello guys,
I want to make a conditional cause in the following file using awk:
awk '{ if ($2 != 0) print $1, $2, $3}' test.csv > test2.csv
FILE EXAMPLE = test.csv
string,number,date
abc,0,20050101
def,1,20060101
ghi,2,20040101
jkl,12,20090101
mno,123,20020101
pqr,1234,20020101
stu,0,20000101
However i always get in test2.csv the same content of test.csv. Does anyone know what is the problem with my statment?
Best Regards
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
how can i use awk or sed to do a conditional statement, so that
HH:MM
if MM not great than 30 , then MM=00
else MM=30
ie:
10:34 will display 10:30
10:29 will display 10:00
a=$(echo 10:34 | awk ......)
Thanks in advance (10 Replies)
Discussion started by: 3Gmobile
10 Replies
2. Shell Programming and Scripting
Hi Guys,
i have this files:
xyz20080716.log
opqrs20080716.log
abcdef20080716.log
xyz20080717.log
oprs20080717.log
abcde20080717.log
currentdate: 20080717.log
I want to make script to zip the file for past day. Can anyone help for this? i've just learn awk scripting & still confused with... (3 Replies)
Discussion started by: icy_blu_blu
3 Replies
3. Shell Programming and Scripting
Dear all,
I want to use awk to read the three columns in a file called "test" and change them to ( 1.5 1.5 1.5) if any element is found to be greater than three. A part of the file is shown below:
(0.478318 0.391032 -0.14054)
(0.45562 0.392523 -0.121685)
(0.437204 0.392811 -0.106158)... (3 Replies)
Discussion started by: mfmohdyasin
3 Replies
4. Shell Programming and Scripting
I have a column of numbers $2, I would like to add 360 to all numbers that are negative. This method seems a bit convoluted, and does not work (outputs 0):
BEGIN {
A=sprintf("%d", $2);
if(A<0) A=A+360;
BIN++;
}
END { for(A in BIN) print... (5 Replies)
Discussion started by: chrisjorg
5 Replies
5. Shell Programming and Scripting
Hi all,
I have a file containing the values that would be use as the basis for printing the lines of another set of files using awk. What I want to do is something like the one below:
stdev.txt
0.21
0.42
0.32
0.25
0.15
file1.txt file2.txt file3.txt ..filen.txt
0.45 0.23 ... (4 Replies)
Discussion started by: ida1215
4 Replies
6. Shell Programming and Scripting
Hi,
I have a file in the following format:
aabbba 25.31806899
baaabb 38.21808852
cccccu 1.31819523
552258121.31818253
ffddybb 5.41815555
almcamc87561812689
223aqas5.661828345
adacaaaaaaa1821285
adacaaaaaaa1821286
smckaa 3.81828756
ada2512510c1821287
ada2522511c1821328... (4 Replies)
Discussion started by: alex2005
4 Replies
7. Shell Programming and Scripting
Hello All,
I have a file like this:
bash-3.00$ cat 1.txt
201112091147|0|1359331220|1025
201112091147|0|1359331088|1024
201112091144|0|1359331172|1025
201112091147|0|1359331220|1021
201112091149|0|1359331088|1027
201112091144|0|1359331172|1029
and a list of MSISDNs in another file... (9 Replies)
Discussion started by: EAGL€
9 Replies
8. Shell Programming and Scripting
Hello,
How can I use a conditional to produce an output file that varies with respect to the contents of column #4 in the data file:
Data file:
9780020080954 9.95 0.49 AS 23.3729
9780020130857 9.95 0.49 AS 23.3729
9780023001406 22.20 0.25 AOD ... (12 Replies)
Discussion started by: palex
12 Replies
9. Shell Programming and Scripting
Heya
I'm trying to get to know awk a bit better.
So i'm trying to get used to calls saving me a grep invocation just to get a specific part of a single line.
This said, i want to get the current screen resolution according to xrandr's output.
Screen 0: minimum 8 x 8, current 1920 x 1080,... (1 Reply)
Discussion started by: sea
1 Replies
10. UNIX for Beginners Questions & Answers
I am having a difficult time getting an awk one-liner to work correctly that runs a mathematical operation upon values in a field when matching a given criteria.
I would like to subtract 1 from every value in field $6 that is greater than 12. In this particular case it is only a constant of... (3 Replies)
Discussion started by: jvoot
3 Replies
LEARN ABOUT REDHAT
pdl::char
Char(3) User Contributed Perl Documentation Char(3)
NAME
PDL::Char -- PDL subclass which allows reading and writing of fixed-length character strings as byte PDLs
SYNOPSIS
use PDL;
use PDL::Char;
my $pchar = PDL::Char->new( [['abc', 'def', 'ghi'],['jkl', 'mno', 'pqr']] );
$pchar->setstr(1,0,'foo');
print $pchar; # 'string' bound to "", perl stringify function
# Prints:
# [
# ['abc' 'foo' 'ghi']
# ['jkl' 'mno' 'pqr']
# ]
print $pchar->atstr(2,0);
# Prints:
# ghi
DESCRIPTION
This subclass of PDL allows one to manipulate PDLs of 'byte' type as if they were made of fixed length strings, not just numbers.
This type of behavior is useful when you want to work with charactar grids. The indexing is done on a string level and not a character
level for the 'setstr' and 'atstr' commands.
This module is in particular useful for writing NetCDF files that include character data using the PDL::NetCDF module.
FUNCTIONS
new
Function to create a byte PDL from a string, list of strings, list of list of strings, etc.
# create a new PDL::Char from a perl array of strings
$strpdl = PDL::Char->new( ['abc', 'def', 'ghij'] );
# Convert a PDL of type 'byte' to a PDL::Char
$strpdl1 = PDL::Char->new (sequence (byte, 4, 5)+99);
$pdlchar3d = PDL::Char->new([['abc','def','ghi'],['jkl', 'mno', 'pqr']]);
string
Function to print a character PDL (created by 'char') in a pretty format.
$char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] );
print $char; # 'string' bound to "", perl stringify function
# Prints:
# [
# ['abc' 'def' 'ghi']
# ['jkl' 'mno' 'pqr']
# ]
# 'string' is overloaded to the "" operator, so:
# print $char;
# should have the same effect.
setstr
Function to set one string value in a character PDL. The input position is the position of the string, not a character in the string. The
first dimension is assumed to be the length of the string.
The input string will be null-padded if the string is shorter than the first dimension of the PDL. It will be truncated if it is longer.
$char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] );
$char->setstr(0,1, 'foobar');
print $char; # 'string' bound to "", perl stringify function
# Prints:
# [
# ['abc' 'def' 'ghi']
# ['foo' 'mno' 'pqr']
# ]
$char->setstr(2,1, 'f');
print $char; # 'string' bound to "", perl stringify function
# Prints:
# [
# ['abc' 'def' 'ghi']
# ['foo' 'mno' 'f'] -> note that this 'f' is stored "f "
# ]
atstr
Function to fetch one string value from a PDL::Char type PDL, given a position within the PDL. The input position of the string, not a
character in the string. The length of the input string is the implied first dimension.
$char = PDL::Char->new( [['abc', 'def', 'ghi'], ['jkl', 'mno', 'pqr']] );
print $char->atstr(0,1);
# Prints:
# jkl
perl v5.8.0 2001-05-27 Char(3)