Sponsored Content
Top Forums Shell Programming and Scripting need help with ascii to decimal conversion Post 302344428 by Franklin52 on Sunday 16th of August 2009 03:18:45 PM
Old 08-16-2009
Quote:
Originally Posted by methyl
(IMHO. This is interesting but impossible).
Almost everything is possible Smilie, try this:

Code:
awk '{
  for(i=1;i<=length;i+=2){
    if(int(substr($0,i,2)) < 20) {
      printf("%c",int(substr($0,i,3)))
      i++
    }
    else {
      printf("%c",int(substr($0,i,2)))
    }
  }
}
END{print ""}'

This is what I get:

Code:
$ echo '729711810132973278105991013268971213233' |
awk '{
  for(i=1;i<=length;i+=2){
    if(int(substr($0,i,2)) < 20) {
      printf("%c",int(substr($0,i,3)))
      i++
    }
    else {
      printf("%c",int(substr($0,i,2)))
    }
  }
}
END{print ""}'
Have a Nice Day !
$

Regards
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ascii conversion

after converting my ebcidic file to ascii i get the following output 2097152+0 records in 1797345+1 records out Why is there a difference in number of records. Is the converson chopping off any records. All i am doing is just a conversion using the following script dd if=xaa cbs=152 ... (0 Replies)
Discussion started by: rintingtong
0 Replies

2. Shell Programming and Scripting

Decimal to Hexadecimal conversion

Hi frnds :) I need a small help... I have a very long file containing 20 digits decimal number which i want to convert into the corresponding 16 digit hexadecimal values. File looks like.... 11908486672755551741 05446378739602232559 04862605079740156652 . . . I tried the script for i... (7 Replies)
Discussion started by: vanand420
7 Replies

3. UNIX for Advanced & Expert Users

File conversion to ascii

Hi All, I have a data file which has binary and hexa decimal data..i tried to convert that file using dd and od commands but i am getting some numbers and junk values... Please let me know is there any other command which can convert this file to ascill. Awaiting your responses -Mora (4 Replies)
Discussion started by: mora
4 Replies

4. Shell Programming and Scripting

how to convert data from ASCII to Packed Decimal

Hi All, Please let me know if it is possible to convert data from ASCII to Packed Decimal through Unix? Basically we have ASCII file with numeric data we want to convert that files data to Packed decimal format to send it to main frame. Please let me know if we can do it through unix script.... (1 Reply)
Discussion started by: aloktiwary
1 Replies

5. UNIX for Dummies Questions & Answers

Conversion from EBCDIC to ASCII

when i try to convert a mainframe EBCDIC file to ASCII ,i dont see correct file this is the source file ... (3 Replies)
Discussion started by: venkatvelpula
3 Replies

6. Shell Programming and Scripting

Decimal to hex conversion

Dear All PROs Thanks in advance need a shell for Decimal to hex conversion input file (decimal values) 65,5,48,66,133,131,118,47 65,5,48,66,133,131,83,63 . . desire output should be (Hex value)... (11 Replies)
Discussion started by: The_Archer
11 Replies

7. Shell Programming and Scripting

binary to ascii conversion

Hi, I have got a library file, created by compiling C code. The file information with "file" command, gives it a "application/x-archive" type file. I want to extract the release string of my software from this file, so that i can know which version of C files were used to create the lib. Can... (3 Replies)
Discussion started by: atulmt
3 Replies

8. Shell Programming and Scripting

Converting hex to ascii/decimal

I am writing a bash script to do some parsing on a log and I am running into a problem when it comes to converting only certain sections of the file from hex to ascii or hex to decimal. Data Example: The hex values after Hardware and SW Version I need to convert from Hex to ASCII and the... (16 Replies)
Discussion started by: Shiftkey
16 Replies

9. UNIX for Advanced & Expert Users

EBCDIC to ASCII conversion

Hi, I have a input file which is EBCIDIC and it has packed decimals. Can anyone help me to convert EBCIDIC file to ASCII(Need to convert even Packed decimal values also to normal format). Thanks swapna (12 Replies)
Discussion started by: swapna_1990
12 Replies

10. UNIX for Advanced & Expert Users

EBCDIC to ASCII conversion

Hi, We have a mainframe file which is in EBCDIC format.We dont have direct access to mainframe ,client has provided us the mainframe file.The mainframe file is containing pact data(COMP1 ,COMP2 etc) which are unreadble.Can anyone suggest me how to convert this kind of ebcdic file to ascii... (11 Replies)
Discussion started by: swapna_1990
11 Replies
PRINTF(3S)																PRINTF(3S)

NAME
printf, fprintf, sprintf - formatted output conversion SYNOPSIS
#include <stdio.h> printf(format [, arg ] ... ) char *format; fprintf(stream, format [, arg ] ... ) FILE *stream; char *format; sprintf(s, format [, arg ] ... ) char *s, format; DESCRIPTION
Printf places output on the standard output stream stdout. Fprintf places output on the named output stream. Sprintf places `output' in the string s, followed by the character `'. Each of these functions converts, formats, and prints its arguments after the first under control of the first argument. The first argu- ment is a character string which contains two types of objects: plain characters, which are simply copied to the output stream, and conver- sion specifications, each of which causes conversion and printing of the next successive arg printf. Each conversion specification is introduced by the character %. Following the %, there may be - an optional minus sign `-' which specifies left adjustment of the converted value in the indicated field; - an optional digit string specifying a field width; if the converted value has fewer characters than the field width it will be blank-padded on the left (or right, if the left-adjustment indicator has been given) to make up the field width; if the field width begins with a zero, zero-padding will be done instead of blank-padding; - an optional period `.' which serves to separate the field width from the next digit string; - an optional digit string specifying a precision which specifies the number of digits to appear after the decimal point, for e- and f-conversion, or the maximum number of characters to be printed from a string; - the character l specifying that a following d, o, x, or u corresponds to a long integer arg. (A capitalized conversion code accom- plishes the same thing.) - a character which indicates the type of conversion to be applied. A field width or precision may be `*' instead of a digit string. In this case an integer arg supplies the field width or precision. The conversion characters and their meanings are dox The integer arg is converted to decimal, octal, or hexadecimal notation respectively. f The float or double arg is converted to decimal notation in the style `[-]ddd.ddd' where the number of d's after the decimal point is equal to the precision specification for the argument. If the precision is missing, 6 digits are given; if the precision is explicitly 0, no digits and no decimal point are printed. e The float or double arg is converted in the style `[-]d.ddde+-dd' where there is one digit before the decimal point and the number after is equal to the precision specification for the argument; when the precision is missing, 6 digits are produced. g The float or double arg is printed in style d, in style f, or in style e, whichever gives full precision in minimum space. c The character arg is printed. Null characters are ignored. s Arg is taken to be a string (character pointer) and characters from the string are printed until a null character or until the num- ber of characters indicated by the precision specification is reached; however if the precision is 0 or missing all characters up to a null are printed. u The unsigned integer arg is converted to decimal and printed (the result will be in the range 0 to 65535). % Print a `%'; no argument is converted. In no case does a non-existent or small field width cause truncation of a field; padding takes place only if the specified field width exceeds the actual width. Characters generated by printf are printed by putc(3). Examples To print a date and time in the form `Sunday, July 3, 10:02', where weekday and month are pointers to null-terminated strings: printf("%s, %s %d, %02d:%02d", weekday, month, day, hour, min); To print pi to 5 decimals: printf("pi = %.5f", 4*atan(1.0)); SEE ALSO
putc(3), scanf(3), ecvt(3) BUGS
Very wide fields (>128 characters) fail. PRINTF(3S)
All times are GMT -4. The time now is 04:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy