Sponsored Content
Top Forums Shell Programming and Scripting awk - Division with condition Post 302762895 by jacobs.smith on Tuesday 29th of January 2013 08:11:22 AM
Old 01-29-2013
awk - Division with condition

Hi Friends,

I have an input file like this

Code:
cat input
chr1 100 200 1 2
chr1 120 130 na 1
chr1 140 160 1 na
chr1 170 180 na na
chr1 190 220 0 0
chr1 220 230 nd 1
chr2 330 400 1 nd
chr2 410 450 nd nd
chr3 500 700 1 1

I want to calculate the division of 4th and 5th columns. But, if either of the columns has
Code:
na or nd or 0

, I want my output to be nf.

So, my output would be

Code:
cat output
chr1 100 200 1 2 0.5
chr1 120 130 na 1 nf
chr1 140 160 1 na nf
chr1 170 180 na na nf
chr1 190 220 0 0 nf
chr1 220 230 nd 1 nf
chr2 330 400 1 nd nf
chr2 410 450 nd nd nf
chr3 500 700 1 1 1


I tried the division already, but it it throwing an error saying fatal error, division by zero attempted.

Thanks in advance.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Division by zero error message in AWK

How can I modify my awk code to get rid of the divion by zero error message? If I run the script without an input file, it should return error message "Input file missing" but not divison by zero. Code: #!/bin/nawk -f BEGIN { if (NR == 0) {print "Input file... (4 Replies)
Discussion started by: Pauline mugisha
4 Replies

2. Shell Programming and Scripting

awk Division and modulus

I need to read the file divide 3 column with 2nd and run a modulus of 10 and check whether the remainder is zero or not if not print the entire line. cat filename | awk '{ if ($3 / $2 % 10 != 0) print $0}' Whats wrong with it ? (4 Replies)
Discussion started by: dinjo_jo
4 Replies

3. Shell Programming and Scripting

awk error message: division by zero attempted

Hi, I'm executing unixbench tool v4.1 on an embedded system and I'm getting these error messages: Execl Throughput 1 2 3awk: /unixbench/unixbench-4.1.0/pgms/loops.awk:38: (FILENAME=- FNR=4) fatal: division by zero attempted Pipe Throughput 1 2 3 4 5 6 7 8 9 10awk:... (3 Replies)
Discussion started by: rogelio
3 Replies

4. UNIX for Advanced & Expert Users

awk: division by zero

I received error "awk: division by zero" while executing the following statement. SunOS 5.10 Generic_142900-15 sun4us sparc FJSV,GPUZC-M echo 8 | awk 'END {printf ("%d\n",NR/$1 + 0.5);}' file1.lst awk: division by zero Can someone provide solution? Thanks Please use code... (11 Replies)
Discussion started by: kumar77
11 Replies

5. Shell Programming and Scripting

awk division error - 0

input 0 0 9820373 2069 0 0 11485482 awk '{print ($1/$3) / ($4/$7)}' input error Is there any way to fix this problem ? (25 Replies)
Discussion started by: quincyjones
25 Replies

6. Shell Programming and Scripting

Division problem -Awk

input one two three four 0 0 0 10424 0 102 0 15091 1 298 34 11111 0 10 0 1287 scripts awk 'NR>1{print ($1/$2) / ($3/$4)}' awk 'NR>1{ if ($1 ||$3 ||$2|| $4 == 0) print 0; else print (($1/$2)/($3/$4))}' error awk: division by zero input record number 1, file rm source line... (9 Replies)
Discussion started by: quincyjones
9 Replies

7. Shell Programming and Scripting

awk & division

vmstat|awk '{print $3}'|tail -1 returns 6250511, but what I need is 24416, which is 6250511 divided by 256. Please advise. Thank you so much (2 Replies)
Discussion started by: Daniel Gate
2 Replies

8. Shell Programming and Scripting

variables division with awk

hello i try to divide 2 variables in order to get a percentage--that's why i'm not interested in integer division--but nothing seems to work I think awk is suitable for this but i'm not quite sure how to use it.. any ideas? here's what I want to do: percentage = varA/varB thank you (2 Replies)
Discussion started by: vlm
2 Replies

9. Shell Programming and Scripting

awk Division By Zero Bypass

Hi Friends, I don't understand why "a" is always being printed as zero, when I execute the following command. awk '{if($6||$8||$10||$12==0)a=b=c=d=0;else (a=$5/$6);(b=$7/$8);(c=$9/$10);(d=$11/$12); {print... (6 Replies)
Discussion started by: jacobs.smith
6 Replies

10. Shell Programming and Scripting

awk - continue when encountered division error

Hello, How can I add a logic to awk to tell it to print 0 when encountering a division by zero attempted? Below is the code. Everything in the code works fine except the piece that I want to calculate read/write IO size. I take the kbr / rs and kbw / ws. There are times when the iostat data... (5 Replies)
Discussion started by: tommyd
5 Replies
deckanji(5)							File Formats Manual						       deckanji(5)

NAME
deckanji - A character encoding system (codeset) for Japanese DESCRIPTION
The DEC Kanji codeset consists of the following characters: ASCII or JIS X0201 Roman letters Katakana characters specified by JIS X0201 JIS X0208 characters User-defined characters (UDC) DEC Kanji uses a combination of single-byte data and two-byte data to represent these characters. JIS X0201 is a single-byte character set and consists of Roman letters and Katakana characters, which are Japanese phonetic symbols. The Roman letters defined in the JIS X0201-1976 standard are the same as ASCII letters. (For information on the ASCII character set, refer to ascii(5).) However, JIS X0201 replaces the ASCII tilde (~) character with a horizontal bar (located at the upper part of a character cell), and replaces the backslash () with the Japanese currency sign (Yen). The JIS XO208 standard specifies two-byte character values that represent a variety of characters, including ideographic symbols. DEC Kanji Encoding All ASCII characters are represented by single-byte 7-bit values in DEC Kanji. That is, the most significant bit (MSB) is always set off in the byte that represents an ASCII character. The Roman letters and the Katakana characters specified by JIS X0201 are also single-byte val- ues in which the most significant bit (MSB) is set off and on, respectively. The code table for JIS X0208 characters is divided into 94 rows, numbered from 1 to 94. Each row has 94 columns, also numbered from 1 to 94. JIS X0208 defines a total of 6877 characters which include: Special symbols, in rows 1 and 2 Numerals and Roman letters, in row 3 Hira- gana characters, in row 4 Katakana characters, in row 5 Greek letters, in row 6 Russian letters, in row 7 Symbols for drawing graphs, dia- grams, and lines, in row 8 First level Kanji characters, in rows 16 to 47 Second level Kanji characters, in rows 48 to 84 To comply with the JIS X0208 standard, each JIS X0208 character is a two-byte value in the DEC Kanji codeset. The MSB of both the first and second bytes is always set on to distinguish JIS X0208 characters from ASCII/JIS Roman or user-defined characters. For each JIS X0208 character, The first byte of the two-byte value determines the row number and the second determines the column number in the JIS X0208 code table. The following formula shows the code value for a JIS X0208 character in relation to its row and column numbers: 1st byte = A0 + Row number 2nd byte = A0 + Column number For example, if a character is positioned at the first column of the 36th row, its code value is C4A1, which is calculated as follows: 1st byte = A0 (hex) + 36 = C4 (hex) 2nd byte = A0 (hex) + 01 = A1 (hex) For user-defined character (UDC) definitions, DEC Kanji provides an area of 2914 positions (from row 1 to row 31). Each UDC is represented by a two-byte value, just like a JIS X0208 character value. However, the MSB of the second byte of a UDC is set off to distinguish it from a JIS X0208 character. The code range of the UDC area is A121 to BF7E. The following formula calculates the code of a UDC in relation to its row and column numbers: 1st byte = A0 + Row number 2nd byte = 20 + Column number For example, if a UDC is positioned at the first column of the 16th row, its code value is B021, which is calculated as follows: 1st byte = A0 (hex) + 16 = B0 (hex) 2nd byte = 20 (hex) + 01 = 21 (hex) Codeset Conversion The following codeset converter pairs are available for converting Japanese characters between deckanji and other encoding formats. Refer to iconv_intro(5) for an introduction to codeset conversion. For more information about the other codeset for which deckanji is the input or output, see the reference page specified in the list item. eucJP_deckanji, deckanji_eucJP Converting from and to Japanese Extended UNIX Code: eucJP(5). iso-2022-jp_deckanji, deckanji_iso-2022-jp Converting from and to the ISO 2022-JP codeset: iso2022jp(5). iso-2022-jpext_deckanji, deckanji_iso-2022-jpext Converting from and to the ISO 2022-JPexp codeset: iso2022jp(5). JIS7_deckanji, deckanji_JIS7 Converting from and to the JIS7 codeset: jiskanji(5). sdeckanji_deckanji, deckanji_sdeckanji Converting from and to the Super DEC Kanji codeset: sdeckanji(5). SJIS_deckanji, deckanji_SJIS Converting from and to the Shift JIS codeset: shiftjis(5). Note that Shift JIS encoding is equivalent to the Microsoft code-page format used on PCs for Japanese. Therefore, you can use these converters to convert data between DEC Kanji and PC code-page format. For information on PC code pages, see code_page(5) UCS-2_deck- anji, deckanji_UCS-2 Converting from and to UCS-2 format: Unicode(5). UCS-4_deckanji, deckanji_UCS-4 Converting from and to UCS-4 format: Unicode(5). UTF-8_deckanji, deckanji_UTF-8 Converting from and to UTF--8 format: Unicode(5). Japanese Fonts The operating system provides the following Japanese bitmap fonts in various sizes and typefaces for 75dpi and 100dpi (dot-per-inch) dis- play devices: JIS X0201-1976 characters (Gothic family): -jdecw-gothic-medium-r-normal--8-80-75-75-m-40-jisx0201.1976-0 -jdecw-gothic-medium-r-normal--14-140-75-75-m-70-jisx0201.1976-0 -jdecw-gothic-medium-r-normal--12-120-75-75-m-60-jisx0201.1976-0 -jdecw-gothic-medium-r-normal--24-240-75-75-m-120-jisx0201.1976-0 -jdecw-gothic-medium-r-normal--10-100-75-75-m-50-jisx0201.1976-0 -jdecw-gothic-medium-r-normal--18-180-75-75-m-90-jisx0201.1976-0 -jdecw-gothic-medium-r-normal--17-120-100-100-m-85-jisx0201.1976-0 -jdecw-gothic-medium-r-nor- mal--34-240-100-100-m-170-jisx0201.1976-0 -jdecw-gothic-medium-r-normal--14-100-100-100-m-70-jisx0201.1976-0 -jdecw-gothic-medium-r- normal--25-180-100-100-m-125-jisx0201.1976-0 -jdecw-gothic-medium-r-normal--20-140-100-100-m-100-jisx0201.1976-0 -jdecw-gothic- medium-r-normal--11-80-100-100-m-55-jisx0201.1976-0 JIS X0201-1976 characters (Kmenu family) -jdecw-kmenu-medium-r-normal--12-120-75-75-p-70-jisx0201.1976-0 -jdecw-kmenu-medium-r-normal--17-120-100-100-p-85-jisx0201.1976-0 JIS X0201-1976 characters (Mincho family) -jdecw-mincho-medium-r-normal--8-80-75-75-m-40-jisx0201.1976-0 -jdecw-mincho-medium-r-normal--14-140-75-75-m-70-jisx0201.1976-0 -jdecw-mincho-medium-r-normal--24-240-75-75-m-120-jisx0201.1976-0 -jdecw-mincho-medium-r-normal--10-100-75-75-m-50-jisx0201.1976-0 -jdecw-mincho-medium-r-normal--18-180-75-75-m-90-jisx0201.1976-0 -jdecw-mincho-medium-r-normal--17-120-100-100-m-85-jisx0201.1976-0 -jdecw-mincho-medium-r-normal--34-240-100-100-m-170-jisx0201.1976-0 -jdecw-mincho-medium-r-nor- mal--14-100-100-100-m-70-jisx0201.1976-0 -jdecw-mincho-medium-r-normal--25-180-100-100-m-125-jisx0201.1976-0 -jdecw-mincho-medium-r- normal--20-140-100-100-m-100-jisx0201.1976-0 -jdecw-mincho-medium-r-normal--11-80-100-100-m-55-jisx0201.1976-0 JIS X0201-1976 char- acters (Screen family) -jdecw-screen-medium-r-normal--24-240-75-75-m-120-jisx0201-romankana -jdecw-screen-medium-r-nor- mal--18-180-75-75-m-80-jisx0201-romankana -jdecw-screen-medium-r-normal--14-140-75-75-m-70-jisx0201-romankana -jdecw-screen-medium- r-normal--10-100-75-75-m-50-jisx0201-romankana JIS X0208 characters (Gothic family) -jdecw-gothic-medium-r-normal--14-140-75-75-m-140-jisx0208.1983-1 -jdecw-gothic-medium-r-normal--12-120-75-75-m-120-jisx0208.1983-1 -jdecw-gothic-medium-r-normal--24-240-75-75-m-240-jisx0208.1983-1 -jdecw-gothic-medium-r-normal--10-100-75-75-m-100-jisx0208.1983-1 -jdecw-gothic-medium-r-normal--18-180-75-75-m-180-jisx0208.1983-1 -jdecw-gothic-medium-r-normal--8-80-75-75-m-80-jisx0208.1983-1 -jdecw-gothic-medium-r-normal--17-120-100-100-m-170-jisx0208.1983-1 -jdecw-gothic-medium-r-nor- mal--34-240-100-100-m-340-jisx0208.1983-1 -jdecw-gothic-medium-r-normal--14-100-100-100-m-140-jisx0208.1983-1 -jdecw-gothic-medium- r-normal--25-180-100-100-m-250-jisx0208.1983-1 -jdecw-gothic-medium-r-normal--20-140-100-100-m-200-jisx0208.1983-1 -jdecw-gothic- medium-r-normal--11-80-100-100-m-110-jisx0208.1983-1 JIS X0208 characters (Mincho family) -jdecw-mincho-medium-r-normal--14-140-75-75-m-140-jisx0208.1983-1 jdecw-mincho-medium-r-normal--12-120-75-75-m-120-jisx0208.1983-1 -jdecw-mincho-medium-r-normal--24-240-75-75-m-240-jisx0208.1983-1 -jdecw-mincho-medium-r-normal--10-100-75-75-m-100-jisx0208.1983-1 -jdecw-mincho-medium-r-normal--18-180-75-75-m-180-jisx0208.1983-1 -jdecw-mincho-medium-r-normal--8-80-75-75-m-80-jisx0208.1983-1 -jdecw-mincho-medium-r-normal--17-120-100-100-m-170-jisx0208.1983-1 -jdecw-mincho-medium-r-nor- mal--34-240-100-100-m-340-jisx0208.1983-1 -jdecw-mincho-medium-r-normal--14-100-100-100-m-140-jisx0208.1983-1 -jdecw-mincho-medium- r-normal--25-180-100-100-m-250-jisx0208.1983-1 -jdecw-mincho-medium-r-normal--20-140-100-100-m-200-jisx0208.1983-1 -jdecw-mincho- medium-r-normal--11-80-100-100-m-110-jisx0208.1983-1 JIS X0208 characters (Screen family) -jdecw-screen-medium-r-normal--24-240-75-75-m-240-jisx0208-kanji00 -jdecw-screen-medium-r-nor- mal--10-100-75-75-m-100-jisx0208-kanji00 -jdecw-screen-medium-r-normal--18-180-75-75-m-160-jisx0208-kanji00 -jdecw-screen-medium-r- normal--16-160-75-75-m-160-jisx0208-kanji00 -jdecw-screen-medium-r-normal--14-140-75-75-m-140-jisx0208-kanji00 -jdecw-screen-medium- r-normal--24-240-75-75-m-240-jisx0208-kanji11 -jdecw-screen-medium-r-normal--10-100-75-75-m-100-jisx0208-kanji11 -jdecw-screen- medium-r-normal--18-180-75-75-m-160-jisx0208-kanji11 -jdecw-screen-medium-r-normal--14-140-75-75-m-140-jisx0208-kanji11 For printers, the operating system provides only Japanese fonts that are printer-resident; that is, there are no Japanese fonts that can be dynamically down-loaded to the printer. Refer to i18n_printing(5) for general information on printing non-English text. SEE ALSO
Commands: locale(1) Others: ascii(5), code_page(5), eucJP(5), i18n_intro(5), i18n_printing(5), iconv_intro(5), iso2022jp(5), Japanese(5), jiskanji(5), sdeck- anji(5), shiftjis(5), Unicode(5) deckanji(5)
All times are GMT -4. The time now is 05:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy