Sponsored Content
Top Forums UNIX for Advanced & Expert Users How to replace special characters? Post 302996234 by wisecracker on Friday 21st of April 2017 05:42:55 PM
Old 04-21-2017
Why use sed?
Longhand using OSX 10.12.4, default bash terminal.
(Assumption bash is available.)
Interactive mode is a great way to test.
Code:
Last login: Fri Apr 21 22:35:25 on ttys000
AMIGA:amiga~> STRING='|*|.5|*|0.2|*|A.B|*|'
AMIGA:amiga~> PREFIX="|*|0"
AMIGA:amiga~> echo "$PREFIX${STRING:3}"
|*|0.5|*|0.2|*|A.B|*|
AMIGA:amiga~> _

This User Gave Thanks to wisecracker For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Replace Special characters in a file

Hi, I have a data like this in a file, 402003279034002000100147626030003300010000000000002000029000000 ær^M^\MÍW^H I need to replace those special char to some other char like # or $ Is there any ways to do it... I tried commands tr,sed and many but it was not able to replace because... (1 Reply)
Discussion started by: solai
1 Replies

2. UNIX for Dummies Questions & Answers

Find and replace special characters in a file

HI All I need a shell script ehich removes all special characters from file and converts the file to UTF-* format Specail characters to be removed must be configurable. strIllegal = @"?/><,:;""'{|\\+=-)(*&^%$#@!~`"; Please help me in getting this script as my scripting skilla are... (2 Replies)
Discussion started by: sujithchandra
2 Replies

3. Shell Programming and Scripting

Using sed to replace special characters

Hi everyone I have file1 contains: '7832' ' 8765 6543 I want a sed command that will format as: '7832' , '8765' , '6543' I tried sed -e s/\'//g -e 's/^*//;s/*$//' file1 > file2 sed -e :a -e '$!N; s/\n/ /; ta' file2 which gives: 7832 8765 6543 I need some help to continue with... (5 Replies)
Discussion started by: nimo
5 Replies

4. Solaris

How to replace special characters in vi?

Hi , I want to replace the special characters in the file. For eg: cat abc 1234/4455/acb 234/k/lll/ 234`fs`fd I want to replace / and ` with the letter a and the output should like below. How to achieve this. 1234a4455aacb 234akallla 234afsafd (2 Replies)
Discussion started by: rogerben
2 Replies

5. Shell Programming and Scripting

Replace special characters

I have a line ending with special character and 0 The special character is the field separator for this line in VI mode the file will look like below, but while cat the special character wont display i know the hexa code for the special character ^_ is \x1f and ascii code is \0037, ... (0 Replies)
Discussion started by: ratheeshjulk
0 Replies

6. Shell Programming and Scripting

Replace special characters with Escape characters?

i need to replace the any special characters with escape characters like below. test!=123-> test\!\=123 !@#$%^&*()-= to be replaced by \!\@\#\$\%\^\&\*\(\)\-\= (8 Replies)
Discussion started by: laknar
8 Replies

7. Shell Programming and Scripting

How to replace special characters?

Hi Unix Guru, I have an requirement for replace some specail characters in a file, my file came from mainframe. please see below example: when open it with vi 17896660|89059215|04/24/1998 00:00:00.000000| abc 123-453-1312^M<85>^M<85>|124557 if I run cat -v I got following:... (25 Replies)
Discussion started by: ken002
25 Replies

8. Shell Programming and Scripting

Replace special characters with backslash and character

Hi, I have a string wherein i need to replace special characters with backslash and that character. Ex: If my string is a=qwerty123@!, then the new string should be a_new=qwerty123\@\!\, Thanks (3 Replies)
Discussion started by: temp_user
3 Replies

9. Shell Programming and Scripting

Help to replace the string with special characters

{"name":"alR_pl-ENVIRONMENT_192_168_211_123_sDK_PROVISION_7","description":"aLR_pl-ENVIRONMENT_192_168_211_123_sDK_PROVISION_7","json_class":"Chef::Role","default_attributes":{},"override_attributes":{"yoapp":{"jboss":"5.1.0","port":"2243","warname":"soap","datacenter":"alR","ip":"192.168.211.123","... (3 Replies)
Discussion started by: nikhil jain
3 Replies

10. UNIX for Beginners Questions & Answers

Replace Pattern with another that has Special Characters

Hello Team, Any help would be much appreciated for the below scenario: I have a sed command below where I am trying to replace the contents of 'old_pkey' variable with 'new_pkey' variable in a Soap request file (delete_request.txt). This works fine for regular string values, but this new_pkey... (8 Replies)
Discussion started by: ChicagoBlues
8 Replies
IOCTL(9)						   BSD Kernel Developer's Manual						  IOCTL(9)

NAME
ioctl -- how to implement a new ioctl call to access device drivers SYNOPSIS
#include <sys/ioctl.h> #include <sys/ioccom.h> int ioctl(int, unsigned long, ...); DESCRIPTION
ioctl are internally defined as #define FOOIOCTL fun(t,n,pt) where the different variables and functions are: FOOIOCTL the name which will later be given in the ioctl(2) system call as second argument, e.g., ioctl(s, FOOIOCTL, ...). fun() a macro which can be one of _IO the call is a simple message to the kernel by itself. It does not copy anything into the kernel, nor does it want anything back. _IOR the call only reads parameters from the kernel and does not pass any to it _IOW the call only writes parameters to the kernel, but does not want anything back _IOWR the call writes data to the kernel and wants information back. t This integer describes to which subsystem the ioctl applies. t can be one of '1' pulse-per-second interface '4' isdn(4) 'a' ISO networking 'A' ac devices (hp300) 'A' Advanced Power Management (hpcmips, i386, sparc), see apm(4) 'A' ADB devices (mac68k, macppc) 'A' audio(4) 'A' isdntel(4) 'b' tb(4) 'b' Bluetooth HCI sockets, see bluetooth(4) 'b' Bluetooth Hub Control, see bthub(4) 'b' Bluetooth SCO audio driver, see btsco(4) 'B' bell device (x68k) 'B' bpf(4) 'c' coda 'c' cd(4) 'c' ch(4) 'C' clock devices (amiga, atari, hp300, x68k) 'C' isdnctl(4) 'd' the disk subsystem 'E' envsys(4) 'f' files 'F' Sun-compatible framebuffers 'F' ccd(4) and vnd(4) 'g' qdss framebuffers 'G' grf devices (amiga, atari, hp300, mac68k, x68k) 'h' HIL devices (hp300) 'H' HIL devices (hp300) 'H' HPc framebuffers 'i' a (pseudo) interface 'I' ite(4) (mac68k) 'J' ISA joystick interface 'k' Sun-compatible (and other) keyboards 'l' leo devices (atari) 'm' mtio(4) 'M' mouse devices (atari) 'M' mlx(4) 'n' virtual console device (arm32) 'n' SMB networking 'O' OpenPROM and OpenFirmware 'p' power control (x68k) 'P' parallel port (amiga, x68k) 'P' profiling (arm32) 'P' printer/plotter interface (hp300) 'P' pci(4) 'P' compat/ossaudio and soundcard.h 'P' magma(4) bpp (sparc) 'q' altq(9) 'q' pmax graphics devices 'Q' altq(9) 'Q' raw SCSI commands 'r' the routing subsystem 'r' md(4) 'R' isdnbchan(4) 'R' rnd(4) 's' the socket layer 's' satlink devices 'S' SCSI disks (arc, hp300, pmax) 'S' watchdog devices (sh3) 'S' ISA speaker devices 'S' stic devices 'S' scanners 't' the tty layer 'u' user defined ??? 'U' scsibus (see scsi(4)) 'v' Sun-compatible ``firm events'' 'V' view device (amiga, atari) 'V' sram device (x68k) 'w' watchdog devices 'W' wt devices 'W' wscons devices 'x' bt8xx devices 'Z' ite devices (amiga, atari, x68k) 'Z' passthrough ioctls n This numbers the ioctl within the group. There may be only one n for a given t. This is an unsigned 8 bit number. pt This specifies the type of the passed parameter. This one gets internally transformed to the size of the parameter, so for exam- ple, if you want to pass a structure, then you have to specify that structure and not a pointer to it or sizeof(struct foo) In order for the new ioctl to be known to the system it is installed in either <sys/ioctl.h> or one of the files that are reached from <sys/ioctl.h>. RETURN VALUES
All ioctl() routines should return either 0 or a defined error code. The use of magic numbers such as -1, to indicate that a given ioctl code was not handled is strongly discouraged. The value -1 coincides with the historic value for ERESTART which was shown to produce user space code that never returned from a call to ioctl(2). For ioctl codes that are not handled by a given routine, the pseudo error value EPASSTHROUGH is provided. EPASSTHROUGH indicates that no error occurred during processing (it did not fail), but neither was anything processed (it did not succeed). This supersedes the use of either ENOTTY (which is an explicit failure) or -1 (which has no contextual meaning) as a return value. ENOTTY will get passed directly back to user space and bypass any further processing by other ioctl layers. Only code that wishes to suppress possible further processing of an ioctl code (e.g., the tty line discipline code) should return ENOTTY. All other code should return EPASSTHROUGH, even if it knows that no other layers will be called upon. If the value EPASSTHROUGH is returned to sys_ioctl(), then it will there be changed to ENOTTY to be returned to user space, thereby providing the proper error notification to the application. EXAMPLES
#define FOOIOCTL _IOWR('i', 23, int) int a = 3; error = ioctl(s, FOOICTL, &a); Within the ioctl()-routine of the driver, it can be then accessed like driver_ioctl(..., u_long cmd, void *data) { ... switch (cmd) { case FOOIOCTL: int *a = (int *)data; printf(" Value passed: %d ", *a); break; } } NOTES
Note that if you for example try to read information from an ethernet driver where the name of the card is included in the third argument (e.g., ioctl(s, READFROMETH, struct ifreq *)), then you have to use the _IOWR() form not the _IOR(), as passing the name of the card to the kernel already consists of writing data. SEE ALSO
ioctl(2) BSD
December 11, 2010 BSD
All times are GMT -4. The time now is 04:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy