Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Basic arithmetic operation with awk? Post 302962816 by beca123456 on Friday 18th of December 2015 06:47:25 PM
Old 12-18-2015
Basic arithmetic operation with awk?

input:
Code:
Name|Operation
rec_10|1+2+2-

Output:
Code:
rec_10|1

Basically I am trying to calculate the result of "the path" in $3 where the operators follow the number and not preceding them like we normally do:
rec_10: +1+2-2=1

But I realise (I am sure there is a good reason for that) that awk does handle basic arithmetic operations, like:
(+1) + (2) + (-2) = 1
Giving that to awk:
Code:
awk '{a==1; b==2; c==(-2); print a+b+c}'

makes it stuck in a loop.

Therefore, I think the approach of putting the numbers and operators in the right order (code below) would not work at the end anyway:
Code:
gawk '
BEGIN{FS=OFS="|"}

NR>1{
p=$2;

printf("%s|",$1);

a=split(p, b, "");

for(i=1;i<=a; i=i+2){
   printf("%s%s",substr($2, i+1, 1),substr($2,i,1))
   }

print substr(p,a)}'

output:
Code:
rec_10|+1+2-2-

Is there any awk trick I could use instead?
Maybe using an increment x++, but instead of the '+' sign writing some variables like for example:
Code:
gawk '
BEGIN{FS=OFS="|"}
{
   a=split($2,b,"");
   x==0;
   for(i=a; i>=1; i--){
      x(i)(i+1)
   }
}
END{print x}'

The code above is just an example and returns:
Code:
gawk: (FILENAME=- FNR=1) fatal: function `x' not defined


Last edited by beca123456; 12-18-2015 at 09:51 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Simple arithmetic operation

I have no idea why I can't get this to work, if anybody can help i would appreciate it. #!/bin/bash x=`cat counter.txt | wc -l` y= '$x / 7' printf "%d People have visited this page" $y :confused: (2 Replies)
Discussion started by: paladyn_2002
2 Replies

2. Shell Programming and Scripting

Help with arithmetic operation

I am using egrep to extract numbers from a file and storing them as variables in a script. But I am not able to do any arithmetic operations on the variables using "expr" because it stores them as char and not integers. Here is my code and the error I get. Any help will be appreciated. #!/bin/sh... (3 Replies)
Discussion started by: emjayshaikh
3 Replies

3. UNIX for Dummies Questions & Answers

arithmetic operation on two columns

Hi, All, I have a file, its content is as follows: 100 150 120 135 140 170 I want to insert a column, its content is determined by the difference between the two values in the same line, if the difference is less than 20, the new value is 1, otherwise is 0. after the operation, the... (1 Reply)
Discussion started by: Jenny.palmy
1 Replies

4. Shell Programming and Scripting

How to perform arithmetic operation on date

Hi all, I would appreciate if anyone knows how to perform adding to date. As for normal date, i can easily plus with any number. But when it comes to month end say for example 28 Jun, i need to perform a plus with number 3, it will not return 1 Jul. Thanks in advance for your help. (4 Replies)
Discussion started by: agathaeleanor
4 Replies

5. Shell Programming and Scripting

Arithmetic operation with awk

I have output like following in a file usmtnz-dinfsi19 72 71 38 1199 1199 0.8 19:23:58 usmtnz-dinfsi19 72 71 38 1199 1199 0.8 19:24:04 (9 Replies)
Discussion started by: fugitive
9 Replies

6. Shell Programming and Scripting

Arithmetic operation between columns using loop variable

Hi I have a file with 3 columns. say, infile: 1 50 68 34 3 23 23 4 56 ------- ------- I want to generate n files from this file using a loop so that 1st column in output file is (column1 of infile/(2*n+2.561)) I am doing like this: for ((i=1; i<=3; i++)) do a=`echo... (3 Replies)
Discussion started by: Surabhi_so_mh
3 Replies

7. Shell Programming and Scripting

floating point arithmetic operation error

I am writing a script in zsh shell, it fetchs a number from a file using the awk command, store it as a variable, which in my case is a small number 0.62000. I want to change this number by multiplying it by 1000 to become 620.0 using the command in the script var2=$((var1*1000)) trouble is... (2 Replies)
Discussion started by: piynik
2 Replies

8. Shell Programming and Scripting

Arithmetic operation in variable

Hi, Here is the script i try to perform arithmetic operation in two variables . git branch -r | while read brname ; do REV_COMMITS=`git rev-list --count $brname` echo "$brname has $REV_COMMITS" (( TOTAL = TOTAL + REV_COMMITS )) echo "in loop" $TOTAL done echo "total is " $TOTAL ... (3 Replies)
Discussion started by: greet_sed
3 Replies

9. Shell Programming and Scripting

Using awk to do arithmetic operation

Hi, I've this following text file FileVersion = 1.03 Filetype = meteo_on_curvilinear_grid TIME = 0 hours since 2016-10-03 12:00:00 +00:00 -6.855 -6.828 -6.801 -6.774 -6.747 -6.719 -6.691 -6.663 -6.634 -6.606 -6.577 -6.548 -6.519 -6.489 TIME = 0 hours since... (2 Replies)
Discussion started by: xisan
2 Replies

10. How to Post in the The UNIX and Linux Forums

How to get defined precision after arithmetic operation using syncsort?

I have to do some arithmetic operation on Field 8 which is calculated by Field 9/Field 7 Suppose i have data like : 0800123456|JAN|2017|JAN|2018|0800123456|0|0.0000|0.00| 0800234567|JAN|2017|JAN|2018|0800234567|4|2.5812|10.32| 0800666666|JAN|2017|JAN|2018|0800666666|2|1.7255|3.45|... (0 Replies)
Discussion started by: pumrao
0 Replies
.::SWF::TextField(3pm)					User Contributed Perl Documentation				    .::SWF::TextField(3pm)

NAME
SWF::TextField - SWF TextField class SYNOPSIS
use SWF::TextField; $textfield = new SWF::TextField([$flags]); DESCRIPTION
Unlike SWF::Text objects, TextFields cannot be rotated, scaled non-proportionally, or skewed. However, TextFields can be used as form entries and they can use browser-defined fonts. NOTES
: TextField is implemented into Flash since Flash3. Most of features for TextFields are available since Flash4. Simple HTML-tags in TextField are possible since Flash5. METHODS
new SWF::TextField([$flags]); Creates a TextField object whose behaviour is dictated by "flags" (see also SWF::Constants): SWFTEXTFIELD_NOEDIT: Non-editable Textfiled SWFTEXTFIELD_PASSWORD: Obscure user input with astricts. SWFTEXTFIELD_DRAWBOX: Draw a border around TextField SWFTEXTFIELD_MULTILINE: TextFiels may contain multiple lines SWFTEXTFIELD_WORDWRAP: Warp text when text reaches TextField border SWFTEXTFIELD_NOSELECT: TextField is not selected when user clicks on it SWFTEXTFIELD_ALIGN_LEFT: Align text to the left SWFTEXTFIELD_ALIGN_RIGHT: Align text to the right SWFTEXTFIELD_ALIGN_CENTER: Align text to the center SWFTEXTFIELD_ALIGN_JUSTIFY: Justify text SWFTEXTFIELD_HTML: Add HTML markup string SWFTEXTFIELD_HASLENGTH: SWFTEXTFIELD_USEFONT: Want to embed font SWFTEXTFIELD_AUTOSIZE: Flags may be combined with the bitwise OR operation. For example: my $t = new SWF::TextField(SWFTEXTFIELD_MULTILINE | SWFTEXTFIELD_WORDWRAP); $textfield->addString($string) $textfield->addUTF8String($UTF8string) Add $string to TextField. Text is appended to the existing text. $textfield->align($alignment) $textfield->setAlignment($alignment) Set the alignment of the text in the textfield. Possible values are SWFTEXTFIELD_ALIGN_LEFT SWFTEXTFIELD_ALIGN_RIGHT SWFTEXTFIELD_ALIGN_CENTER SWFTEXTFIELD_ALIGN_JUSTIFY By default a SWF::TextField ist left aligned. $textfield->setBounds($width, $height) Sets the width and height of the textfield. $textfield->setColor($red, $green, $blue [, $alpha]) Set the color of the text. An 8 bit value for each parameter. You can use the hex or decimal notation. Even mixed. $tf->setColor(0xcc,0,0x33); $tf->setColor(204,0,51,255); $textfield->setFont($font) Sets an SWF::Font object -$font- to be used in the TextField. $textfield->setPadding($padding) Set TextField padding. $textfield->setHeight($height) Set the height of font in your textfield. $textfield->setIndentation($indentation) Set the indentation of the first line of a paragraph. $textfield->setLeftMargin($left) Sets the left margin of the textfield. $textfield->setRightMargin($right) Sets the right margin of the textfield. $textfield->setMargins($left, $right) Sets left and right margins of $textfield. $textfield->setLineSpacing($linespacing) Sets the space between lines. $textfield->setName($name) $textfield->setVariableName($name) Assigns a name to the TextField which could be used to reference the TextField within ActionScript. $textfield->addChars($string) $textfield->addUTF8Chars($UTF8string) Adds characters to a font that will be available within a textfield. $textfield->setFlags($flags) Set TextField behaviour by "flags" (see above new SWF::TextField) For example: $textfield->setFlags(SWFTEXTFIELD_PASSWORD); $textfield->setLength($length) Sets limit for user input size to $length. $textfield->setFieldHeight($height) Sets height limit for visible part of text field. If $height is set to 0, the height is calculated by used font, see setHeight() method. AUTHOR
Soheil Seyfaie (soheil at users.sourceforge.net). SEE ALSO
SWF, SWF::Action, SWF::Button, SWF::Constants, SWF::DisplayItem, SWF::Font, SWF::Movie, SWF::MovieCip, SWF::Text perl v5.14.2 2011-10-26 .::SWF::TextField(3pm)
All times are GMT -4. The time now is 09:49 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy