Sponsored Content
Top Forums UNIX for Advanced & Expert Users Replace hex values using sed command Post 303011224 by wisecracker on Monday 15th of January 2018 11:29:05 AM
Old 01-15-2018
Of course there is always 'printf' and could easily be in a 'read' loop...
OSX 10.13.2, default bash terminal.
Longhand to show it working...
Code:
Last login: Mon Jan 15 16:11:31 on ttys000
AMIGA:amiga~> bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin17)
Copyright (C) 2007 Free Software Foundation, Inc.
AMIGA:amiga~> printf "\xc1Bc Aa \xc1 BC \xc1a\xc1\n" > lalo.txt
AMIGA:amiga~> hexdump -C lalo.txt
00000000  c1 42 63 20 41 61 20 c1  20 42 43 20 c1 61 c1 0a  |.Bc Aa . BC .a..|
00000010
AMIGA:amiga~> string=$( cat lalo.txt )
AMIGA:amiga~> printf "${string//$'\xc1'/A}\n" > lalo1.txt
AMIGA:amiga~> cat lalo1.txt
ABc Aa A BC AaA
AMIGA:amiga~> _

 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Modifying binary file by editing Hex values ?

Hi , i'm using special binary file (lotus notes) and modifying an hexadecimal address range with windows hex editor and it works fine ! The file is an AIX one and i'm forced to transfert (ftp) it before modifying it and re-transfert ! NOW i would do this directly under AIX ! I can... (4 Replies)
Discussion started by: Nicol
4 Replies

2. Shell Programming and Scripting

How do i use sed to replace string with values from a dictionary file

I have file 1 with one million rows. one of the fields is "FIRSTNAME" (the string) I have a second file with about 20 first names. JUDE DAVID HOMER CANE ABEL MARTY CARL SONNY STEVE BERT OSCAR MICKY JAMES JOHN GLENN DOUG (3 Replies)
Discussion started by: yoyolandre
3 Replies

3. Shell Programming and Scripting

Loop with sed command to replace line with sed command in it

Okay, title is kind of confusion, but basically, I have a lot of scripts on a server that I need to replace a ps command, however, the new ps command I'm trying to replace the current one with pipes to sed at one point. So now I am attempting to create another script that replaces that line. ... (1 Reply)
Discussion started by: cbo0485
1 Replies

4. UNIX for Dummies Questions & Answers

using sed to replace values...

I have a file: $somevar=somevalue $anothervar= $someothervar=45 I'd like to be able to replace the values in the file. I just don't know how exactly to use sed. I was thinking along the lines of: cat file | sed "s/$somevar=/anotherval/g" I was hoping this would make the... (2 Replies)
Discussion started by: mrwatkin
2 Replies

5. Shell Programming and Scripting

Replace blank values for string using sed

Hi everyone, I was wondering how could from a file where each row is separated by tabulations, the row values where are in blank replace them by a string or value. My file has this form: 26/01/09 13:45:00 0 0 26/01/09 14:00:00 1495.601318 0 26/01/09 14:15:00 1495.601318 0 ... (4 Replies)
Discussion started by: tonet
4 Replies

6. Programming

searching files for hex or oct values

I have a set of files without extensions. How can I programatically tell if a file is in gzip format? The gzip file format spec RFC 1952 GZIP File Format Specification version 4.3 states that gzip files have certain hex/oct values at the beginning of the file. 1st byte = 0x1f in hex,... (2 Replies)
Discussion started by: daflore
2 Replies

7. Shell Programming and Scripting

Convert hex values to displayable characters

Hi, I am a bit stuck with displaying characters. I am having values like below in the proper displayable characters. which I would want to print the actual value on the right hand side. I dont want to create an array because I would have to create 255 different values. isnt there another way of... (17 Replies)
Discussion started by: ahmedwaseem2000
17 Replies

8. Shell Programming and Scripting

sed replace values of column with ordered numbering

Hello, I am trying to write a shell script that will create a gnuplot file. My main problem is that I have a data file with two columns: 1.05929120E+09 5.0000701214792 1.05930096E+09 5.00006386985764 1.05930584E+09 5.00019465404908 1.05931072E+09 5.00031960589719 ... (2 Replies)
Discussion started by: pau
2 Replies

9. Shell Programming and Scripting

Help search and replace hex values only in specific files

perl -pi -e 's/\x00/\x0d\x0a/g' `grep -l $'GS' filelist` This isn't working :confused:, it's not pulling the files that contain the regex. Please help me rewrite this :wall:. Ideally for this to work on 9K of 20K files in the directory, I've tried this but I don't know enough about awk... (7 Replies)
Discussion started by: verge
7 Replies

10. Shell Programming and Scripting

How to replace with "sed" some hex values by other hex values?

Assume I have a file \usr\home\\somedir\myfile123.txt and I want to replace all occurencies of the two (concatenated) hex values x'AD' x'A0' bytwo other (concatenated) hex values x'20' x'6E' How can I achieve this with the gnu sed tool? Additional question: Is there a way to let sed show... (1 Reply)
Discussion started by: pstein
1 Replies
SOCKDOWN(1)						      General Commands Manual						       SOCKDOWN(1)

NAME
sockdown - shutdown(2) a socket netpipes 4.2 SYNOPSIS
sockdown [ fd [how] ] DESCRIPTION
sockdown performs the shutdown(2) system call on one of its file descriptors specified by fd. The possible values for how are +----------+---------------------------------------------------------+ |writeonly | convert to write-only file descriptor | |0 | convert to write-only file descriptor | |writeonly | symbolic for same as above | |1 | convert to read-only file descriptor | |readonly | symbolic for same as above | |2 | complete shutdown. no more reads or writes are allowed | |totally | symbolic for same as above | +----------+---------------------------------------------------------+ The default fd is 1 (stdout) and the default how is 1. EXAMPLES
Imagine you have a machine that can perform a service (in this case conversion from ASCII to fancy postscript) : server$ faucet 3000 --in --out enscript -2rGhp - You may then connect to it with a hose. However, the first example enters deadlock : client$ hose server 3000 -in -out sh -c " cat blah.txt & cat > blah.ps " The enscript blocks waiting for input from the socket because not all of the client processes have exited. While the cat blah.txt is fin- ished, the cat > blah.ps is not, and will not be finished until the remote enscript process finishes writing. The enscript process will not finish writing until it is finished reading, but that client->server half of the socket is still open and will not be closed until all the client processes are done. The result is deadlock. So, we use sockdown to close half of the pipe client$ hose server 3000 -in -out sh -c " ( cat blah.txt ; sockdown ) & cat > blah.ps " This way when the cat blah.txt is done, half of the socket is shut down and the remote enscript process runs out of input, causing it to flush its output and exit, so eventually the whole mess finishes cleanly. Note: the & on the hose is necessary to prevent another deadlock. If we simply used the ; to serialize the two cat processes it is possi- ble that the enscript would fill up its write buffer before the first cat was done causing both processes to block and preventing the sec- ond cat from draining the pipe. Of course, that idiomatic usage of hose is so useful that it is a special form: client$ hose server 3000 -slave < blah.txt > blah.ps Ian Stirling <root@mauve.demon.co.uk> informs me that sockdown can be used in Linux's /proc/pid/fd/ directories to tear down hung network connections. I have since used this myself on a wedged MOMspider. To try this, you have to know the PID of the program and the file descriptor of the wedged socket (can sometimes be found by running strace and see if the program is stuck in a read(2) system call). If the PID is 991 and the socket's descriptor is 5, you do this as root: bash# sockdown 1 2 > /proc/991/fd/5 ERRORS
Socket operation on non-socket Invalid argument (seen on Solaris) The fd you specified does not refer to a socket. This happens when you run sockdown by itself (it is unlikely that any of the file descriptors attached to an interactive shell are actually sockets) or if you goof up your faucet/hose command and forgot to dup(2) one of your descriptors. Bad file number You gave it a bad file number for fd. If you have enough skill to actually generate this error, you probably know what is wrong. If you encounter any other errors, clue me in. SEE ALSO
netpipes (1) faucet (1), hose (1), getpeername (1), socket (2), shutdown (2), NOTES
Any normal human would assume a program this simple has to be bug free, but I am an experienced programmer. Just avoid doing anything funky like passing sockdown strings and it should serve you well. You should not have to pass it any arguments unless you are doing something fairly funky. Perhaps I should ditch the shutdown -a semantics on hose since a sockdown 1 2 would do the job. CREDITS
Ian Stirling <root@mauve.demon.co.uk>, for the idea of using this program in /proc on a Linux machine. COPYRIGHT
Copyright (C) 1995-1998 Robert Forsman This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MER- CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. AUTHOR
Robert Forsman thoth@purplefrog.com Purple Frog Software http://web.purplefrog.com/~thoth/ July 7, 1998 SOCKDOWN(1)
All times are GMT -4. The time now is 08:21 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy