Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Print byte position of extended ascii character Post 303020507 by wisecracker on Saturday 21st of July 2018 03:39:43 PM
Old 07-21-2018
Hi rosebud123...

This is a working model.
I have used the '/tmp' directory for ease of testing.
READ THE NOTES INSIDE THE CODE!
Code:
#!/bin/bash
while read T
  do    ((CNT++))
        for ((i=0; i<${#T}; i++))
          do    LC_ALL=C TMP=$(printf "%d\n" "'"${T:i:1})
                [ $TMP -lt 0 ] && printf "%d\t%c\t%d\n" $i ${T:i:1} $CNT
          done
  done < /tmp/Test.TXT > /tmp/done.TXT
cat /tmp/done.TXT
# exit 0

# NOTES:
# 1) This script will ONLY remove _binary_ characters, decimal 128 - 255.
# 2) NULL character, decimal 0, WILL BREAK this script!!! If one is encountered a different approach is required.
# 3) The DELETE/BACKSPACE character, decimal 127, and Control characters can be catered for if need be.
# 4) The CODE PAGE 437 '?' characters in the centre column cannot be displayed in single byte UTF8.
# 5) Displayed as BYTE_POSITION_RELATIVE_TO_0, UNKNOWN_CHARACTER, LINE_NUMBER and now TAB spaced.
# 6) YOU will have to change the absolute PATH and filename(s) to suit yourself.
# 7) Have fun!

OSX 10.13.5, default bash terminal.
Code:
Last login: Sat Jul 21 20:11:00 on ttys000
AMIGA:amiga~> ./bin_char.sh
5	?	1
6	?	1
6	?	2
7	?	2
6	?	3
7	?	3
6	?	4
7	?	4
5	?	5
6	?	5
7	?	5
8	?	5
4	?	6
5	?	6
7	?	6
8	?	6
4	?	7
5	?	7

This User Gave Thanks to wisecracker For This Post:
 

10 More Discussions You Might Find Interesting

1. Programming

Extended ascii

Hi all, I would like to change the extended ascii code ( 128 - 255). I tried to change LC_ALL and LANG in current session ( values from locale -a) and for no good. Thanks. (0 Replies)
Discussion started by: avis
0 Replies

2. Shell Programming and Scripting

extended ascii problem

hi i would like to check text files if they contain extended ascii characters within or not. i really dont have any idea how to start your kind help would be very much appreciated thanks. (7 Replies)
Discussion started by: smooth
7 Replies

3. UNIX for Advanced & Expert Users

Processing extended ascii character file names in UNIX (BASH scipts)

Hi, I have a accentuated letter (ö) in a script for an Installer. It's a file name. This is not working and I'm told to try using the octal value for the extended ascii character. Does anyone no how to do this? If I had the word "filförval", can I just put in the value between the letters, like... (9 Replies)
Discussion started by: peli
9 Replies

4. Shell Programming and Scripting

Print lines with specific character at nth position in a file

I need to print lines with character S at nth position in a file...can someone pl help me with appropriate awk command for this (2 Replies)
Discussion started by: manaswinig
2 Replies

5. Shell Programming and Scripting

Print lines with specific character at nth position in a file

I need to print lines with character S at nth position in a file...can someone pl help me with appropriate awk command for this (1 Reply)
Discussion started by: manaswinig
1 Replies

6. AIX

Printing extended ASCII

Hi All, I'm trying to send extended ascii characters to my HP2055 as part of PCL printer control codes. What I want to do is select a bar code font, print the bar code and reset the printer to the default font. Selecting the bar code font works good. Printing the bar code goes almost ok too. ... (5 Replies)
Discussion started by: petervg
5 Replies

7. Shell Programming and Scripting

Print the next ASCII character

Hi, In my file, for few field I have to print the next ASCII character for every character. In the below file, I have to do for the 2,3 and 5th fields. Input File ======== 1|abc|def|5|ghi 2|jkl|mno|6|pqr Expected Ouput file ======= 1|bcd|efg|5|hij 2|klm|nop|6|qrs (2 Replies)
Discussion started by: machomaddy
2 Replies

8. Shell Programming and Scripting

Search and Replace Extended Ascii Characters

We are getting extended Ascii characters in the input file and my requirement is to search and replace them with a space. I am using the following command LANG=C sed -e 's// /g' It is doing a good job, but in some cases it is replacing the extended characters with two spaces. So my input... (12 Replies)
Discussion started by: ysvsr1
12 Replies

9. Programming

How to read extended ASCII characters from stdin?

Hi, I want to read extended ASCII characters from keyboard using c language on unix/linux. How to read extended characters from keyboard or by copy-paste in terminal irrespective of locale set in the system. I want to read the input characters from keyboard, store it in an array or some local... (3 Replies)
Discussion started by: sanzee007
3 Replies

10. Shell Programming and Scripting

Removal Extended ASCII using awk

Hi All, I am trying to remove (SELECTIVE - passed as argument) Extended ASCII using Awk based on adhoc basis. Can you please let me know how to do it. I have to implement this using awk only. Thanks & Regads (14 Replies)
Discussion started by: tostay2003
14 Replies
OD(1)							    BSD General Commands Manual 						     OD(1)

NAME
od -- octal, decimal, hex, ascii dump SYNOPSIS
od [-aBbcDdeFfHhIiLlOovXx] [-A base] [-j skip] [-N length] [-t type_string] [[+]offset[.][Bb]] file ... DESCRIPTION
The options are as follows: -A base Specify the input address base. base may be one of 'd', 'o', 'x' or 'n', which specify decimal, octal, hexadecimal addresses or no address, respectively. -a One-byte character display. Display the input offset in octal, followed by sixteen space-separated, three column, space-filled, characters of input data per line. Control characters are printed as their names instead of as C-style escapes. -B Same as -o. -b One-byte octal display. Display the input offset in octal, followed by sixteen space-separated, three column, zero-filled, bytes of input data, in octal, per line. This is the default output style if no other is selected. -c One-byte character display. Display the input offset in octal, followed by sixteen space-separated, three column, space-filled, characters of input data per line. Control characters are printed at C-style escapes, or as three octal digits, if no C escape exists for the character. -d Two-byte decimal display. Display the input offset in octal, followed by eight space-separated, five column, zero-filled, two- byte units of input data, in unsigned decimal, per line. -e Eight-byte floating point display. Display the input offset in octal, followed by two space-separated, twenty-one column, space filled, eight byte units of input data, in floating point, per line. -F Same as -e. -f Four-byte floating point display. Display the input offset in octal, followed by four space-separated, 14 column, space filled, four byte units of input data, in floating point, per line. -H Four-byte hex display. Display the input offset in octal, followed by four space-separated, eight column, zero filled, four byte units of input data, in hex, per line. -h Two-byte hex display. Display the input offset in octal, followed by eight space-separated, four column, zero filled, two byte units of input data, in hex, per line. -I Four-byte decimal display. Display the input offset in octal, followed by four space-separated, eleven column, space filled, four byte units of input data, in decimal, per line. -i Two-byte decimal display. Display the input offset in octal, followed by eight space-separated, six column, space filled, two- byte units of input data, in decimal, per line. -j offset Skip offset bytes from the beginning of the input. By default, offset is interpreted as a decimal number. With a leading 0x or 0X, offset is interpreted as a hexadecimal number, otherwise, with a leading 0, offset is interpreted as an octal number. Appending the character b, k, or m to offset causes it to be interpreted as a multiple of 512, 1024, or 1048576, respectively. -L Same as -I. -l Same as -I. -N length Interpret only length bytes of input. -O Four-byte octal display. Display the input offset in octal, followed by four space-separated, eleven column, zero-filled, four- byte units of input data, in octal, per line. -o Two-byte octal display. Display the input offset in octal, followed by eight space-separated, six column, zero-filled, two-byte units of input data, in octal, per line. -t type_string Specify one or more output types. The type_string option-argument must be a string specifying the types to be used when writing the input data. The string must consist of the type specification characters: a selects US-ASCII output, with control characters replaced with their names instead of as C escape sequences. See also the _u conversion provided by hexdump(1). c selects a standard character based conversion. See also the _c conversion provided by hexdump(1). f selects the floating point output format. This type character can be optionally followed by the characters 4 or F to specify four byte floating point output, or 8 or L to specify eight byte floating point output. The default output format is eight byte floats. See also the e conversion provided by hexdump(1). d, o, u, or x select decimal, octal, unsigned decimal, or hex output respectively. These types can optionally be followed by C to specify char-sized output, S to specify short-sized output, I to specify int-sized output, L to specify long-sized output, 1 to specify one-byte output, 2 to specify two-byte output, 4 to specify four-byte output, or 8 to specify eight-byte output. The default output format is in four-byte quantities. See also the d, o, u, and x conversions provided by hexdump(1). -v The -v option causes od to display all input data. Without the -v option, any number of groups of output lines, which would be identical to the immediately preceding group of output lines (except for the input offsets), are replaced with a line comprised of a single asterisk. -X Same as -H. -x Same as -h. For each input file, od sequentially copies the input to standard output, transforming the data according to the options given. If no options are specified, the default display is equivalent to specifying the -o option. od exits 0 on success and >0 if an error occurred. SEE ALSO
hexdump(1), strings(1) HISTORY
A od command appears in Version 1 AT&T UNIX. This man page was written in February 2001 by Andrew Brown, shortly after he augmented the deprecated od syntax to include things he felt had been missing for a long time. BSD
February 9, 2010 BSD
All times are GMT -4. The time now is 06:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy