Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Concatenate a string and number and compare that with another string in awk script Post 303038194 by bhagya123 on Tuesday 27th of August 2019 03:43:16 PM
Old 08-27-2019
Concatenate a string and number and compare that with another string in awk script

I have below code inside my awk script

Code:
if ( $0 ~ /SVC IN:/ )
  {
    svc_in=substr( $0,23 , 3);
    if (msg_start == 1 && msg_end == 0)
     {
        msg_arr[msg_lnno++]=$0;
     }
  }
else if ( $0 ~ /^SVC OUT:/ )
  {
    svc_out=substr( $0, 9, 3);
      if (msg_start == 1 && msg_end == 0)
     {
        msg_arr[msg_lnno++]=$0;
     }
   }
 else if ( $0 ~ /^MSGEND/ )
  {
 if ( $svc_in$svc_out != "ABCABC" )
{
print .....
}
else
{
print ..
}
)

Moderator's Comments:
Mod Comment Please use code tags


The issue here is it works fine when both in and out values are strings and gets an error when one of them is a number.
My input file has diff combinations, how can we convert it when we get a number in any one value?

Last edited by jim mcnamara; 08-27-2019 at 08:10 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Concatenate String through Awk

I want to concatenate any particular field of the file with any String say SSB....but i am not able to do it... I hv tried the following code....but its saying there is error in parsing it.. awk 'BEGIN { FS = "," ; OFS = "," ; } { for ( i = 1 ; i < 5 ; i++ ) {a=i;b="SSB"; print $1,$a$b,$3 } }'... (3 Replies)
Discussion started by: monu_munish
3 Replies

2. Shell Programming and Scripting

[awk]compare a number in a string with a list

Hi, I have a program written in awk and I want to extend it to do another task. My program is a list of CVS log reports of a repository. For each file, I have some fields. One of the fields is the comment field. I want to know how I can check if a comment (which is a free text field)... (8 Replies)
Discussion started by: sandeepk1611
8 Replies

3. Shell Programming and Scripting

awk if statement to evaluate string and compare

I have the following simplified code that I am planning on putting into a larger shell script. I have been butchering it to try and make work amongst google searches and reading awk documentation. amixer sset Master toggle | awk '{ if ( /^ Front Left/ { print $7 } == // ) print "MUTED" }'I... (2 Replies)
Discussion started by: jelloir
2 Replies

4. Shell Programming and Scripting

Concatenate lines with unique string AND number

In Bash using AWK or sed I need to convert the following file: ... numitem_tab0 =<p>1 KEYWORD</p><p>2 KEYWORD</p><p>3 KEYWORD</p><p>4 KEYWORD</p><p>5 KEYWORD</p>...<p>25 KEYWORD</p> subitem_tab0 =<p></p><p></p> ... numitem_tab6 =<p>1 KEYWORD</p><p>2 KEYWORD</p><p>3 KEYWORD</p><p>4 KEYWORD</p>... (2 Replies)
Discussion started by: pioavi
2 Replies

5. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

6. Shell Programming and Scripting

Awk, sed - concatenate lines starting with string

I have a file that looks like this: John Smith http://www.profile1.com http://www.profile2.com http://www.profile3.com Marc Olsen http://www.profile4.com http://www.profile5.com http://www.profile6.com http://www.profile7.com Lynne Doe http://www.profile8.com http://www.profile9.com... (3 Replies)
Discussion started by: locoroco
3 Replies

7. Shell Programming and Scripting

awk - how to compare part of the string?

Need help for awk.. file will have comma separated numbers, I need check digits before 10 numbers eg ( 001)1234567890 Basically want to check country code of a mobile number. eg: abc,def,data, data,0011234567890, data,data Script should be checking country code with 001, I will pass... (10 Replies)
Discussion started by: vegasluxor
10 Replies

8. Shell Programming and Scripting

String compare using awk - what am I doing wrong?

Hi all, I was doing some string manipulation in my script and wanted to try using awk. However, I have been stuck with string compare. A simplified form of my conundrum is given below: The below prints expected result (prints "Completed because that is the second element"): $ echo... (5 Replies)
Discussion started by: faraway
5 Replies

9. Shell Programming and Scripting

Pass column number as variable to awk and compare with a string.

Hi All, I have a file test.txt. Content of test.txt : 1 vinay se 2 kumar sse 4 kishore tl I am extracting the content of file with below command. awk '$2 ~ "vinay" {print $0}' test.txt Now instead of hardcoding $2 is there any way pass $2 as variable and compare with a... (7 Replies)
Discussion started by: Girish19
7 Replies

10. Shell Programming and Scripting

Compare string length to a number

Hi, I want to compare strings length to a number but i am getting error. I want first name should be length of 8. Please help. #bin !/bin/bash clear echo -n "Enter name " read name IFS=_ ary=($name) for key in "${!ary}"; do echo "$key${ary}"; done ##First name should be equal to 8... (8 Replies)
Discussion started by: rajneesh4U
8 Replies
Statistics::Basic::Mode(3pm)				User Contributed Perl Documentation			      Statistics::Basic::Mode(3pm)

NAME
Statistics::Basic::Mode - find the mode of a list SYNOPSIS
Invoke it this way: my $mode = mode(1,2,3,3); Or this way: my $v1 = vector(1,2,3,3); my $mod = mode($v1); And then either query the values or print them like so: print "The mod of $v1: $mod "; my $mq = $mod->query; my $m0 = 0+$mod; # this will croak occasionally, see below The mode of an array is not necessarily a scalar. The mode of this vector is a vector: my $mod = mode(1,2,3); my $v2 = $mod->query; print "hrm, there's three elements in this mode: $mod " if $mod->is_multimodal; Create a 20 point "moving" mode like so: use Statistics::Basic qw(:all nofill); my $sth = $dbh->prepare("select col1 from data where something"); my $len = 20; my $mod = mode()->set_size($len); $sth->execute or die $dbh->errstr; $sth->bind_columns( my $val ) or die $dbh->errstr; while( $sth->fetch ) { $mod->insert( $val ); if( defined( my $m = $mod->query ) ) { print "Mode: $m "; } print "Mode: $mod " if $mod->query_filled; } METHODS
new() The constructor takes a list of values, a single array ref, or a single Statistics::Basic::Vector as arguments. It returns a Statistics::Basic::Mode object. Note: normally you'd use the mean() constructor, rather than building these by hand using "new()". is_multimodal() Statistics::Basic::Mode objects sometimes return Statistics::Basic::Vector objects instead of numbers. When "is_multimodal()" is true, the mode is a vector, not a scalar. _OVB::import() This module also inherits all the overloads and methods from Statistics::Basic::_OneVectorBase. OVERLOADS
This object is overloaded. It tries to return an appropriate string for the calculation or the value of the computation in numeric context. In boolean context, this object is always true (even when empty). If evaluated as a string, Statistics::Basic::Mode will try to format a number (like any other Statistics::Basic object), but if the object "is_multimodal()", it will instead return a Statistics::Basic::Vector for stringification. $x = mode(1,2,3); $y = mode(1,2,2); print "$x, $y "; # prints: [1, 2, 3], 2 If evaluated as a number, a Statistics::Basic::Mode will raise an error when the object "is_multimodal()". AUTHOR
Paul Miller "<jettero@cpan.org>" COPYRIGHT
Copyright 2012 Paul Miller -- Licensed under the LGPL SEE ALSO
perl(1), Statistics::Basic, Statistics::Basic::_OneVectorBase, Statistics::Basic::Vector perl v5.14.2 2012-01-23 Statistics::Basic::Mode(3pm)
All times are GMT -4. The time now is 06:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy