12-30-2013
Quote:
Originally Posted by
RudiC
Yoda's approach misses the space special char as that is used as a separator by the split function.
I don't think OP want blank space to be escaped. I don't see blank space escaped in OP's expected output.
I guess OP want to escape only those characters defined in variable
SPECIAL_CHARS
This User Gave Thanks to Yoda For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
is it possible to escape the \ character in sed?
right now I'm trying to replace all occurances of \ with \\
sed \"s|test|test_replacement|g\" file1 > output; #this works fine
sed \"s|\\|\\\|g\" file1 > output; #this generates the following error:
sed: -e expression #1, char 17:... (1 Reply)
Discussion started by: gammaman
1 Replies
2. Shell Programming and Scripting
I want to replace a string which contains "/" in vi but what is the escape character for forward slash?
e.g. I have a text file with the contents below and I want to replace "/Top/Sub/Sub1" with "ABC".
/Top/Sub/Sub1
The replace command I am using is ... (4 Replies)
Discussion started by: stevefox
4 Replies
3. Shell Programming and Scripting
Hi
I'm trying to split a dir listing
eg
/home/foo1/foo2
I'm using ksh
I've tried
dir=/home/foo1/foo2
splitit=`echo $dir | awk -F '\/' '{print $1}'`
echo $splitit
nothing is output!
I have checked the escape character. The only one I have found is \
BTW `pwd` | awk -F \/... (8 Replies)
Discussion started by: OFFSIHR
8 Replies
4. Shell Programming and Scripting
Hi ,
I want to change space to ' in my script.
I tried doing this,
sed 's/ /\'/g' filename
but i could not get it.
can some one help me please.
Thanks,
Deepak (4 Replies)
Discussion started by: deepakpv
4 Replies
5. Shell Programming and Scripting
Hello,
I wanted to display command with echo like this in tcsh.
output should be "//'test.test1.test2'"
(" at both ends also required in output)
Please help me. (1 Reply)
Discussion started by: balareddy
1 Replies
6. Shell Programming and Scripting
Hello experts
I am trying to write a shell script which will add ' ' to a unix variable and then pass it to oracle for inserting to a table.
I am running the script as root and I have to do a su -c .
The problem is the character ' is not recognised inside sed even after adding escape... (1 Reply)
Discussion started by: pvedaa
1 Replies
7. UNIX for Advanced & Expert Users
I want to know how to, given a string like W87151WR71C, if the 4th and 5th character (in this case 15) are greater than 45, then to add 1 to the 3rd character (in this case 7) and assign the revised string the variable name MODSTRING.
Thanks in advance. This is ultimately to grab info from... (6 Replies)
Discussion started by: glev2005
6 Replies
8. Shell Programming and Scripting
Hi all,
I've got a problem with sed. Want to use it to add escape character \ before $ and ' symbols so
condition='1'$some will become condition=\'1\'\$some
echo "condition='1'$some" | sed 's/\($\)/\\\1/g'
is not working properly. Can somebody help me with this please?
Regards,... (7 Replies)
Discussion started by: johny_be_good
7 Replies
9. Shell Programming and Scripting
i have string as below
str=".<date>"
in which i need to replace < with /< , when i tried with sed , got the output.
--> echo $str | sed 's/</\\</g'
.\<date>
when i tried to assign it to a variable , i am not getting the same
--> a=`echo $str | sed 's/</\\</g'` ; echo $a... (4 Replies)
Discussion started by: expert
4 Replies
10. Shell Programming and Scripting
Hi,
How to use * in call to pl/sql block from shell script?
The line "select * from" is causing all files and directiores to show up in email notification but if I give all column names then it works,
Please let me know how to use '*' instead of giving all column names, in other wirds how to... (2 Replies)
Discussion started by: sandy162
2 Replies
LEARN ABOUT MOJAVE
fparseln
FPARSELN(3) BSD Library Functions Manual FPARSELN(3)
NAME
fparseln -- return the next logical line from a stream
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <stdio.h>
#include <util.h>
char *
fparseln(FILE *stream, size_t *len, size_t *lineno, const char delim[3], int flags);
DESCRIPTION
The fparseln() function returns a pointer to the next logical line from the stream referenced by stream. This string is NUL terminated and
it is dynamically allocated on each invocation. It is the responsibility of the caller to free the pointer.
By default, if a character is escaped, both it and the preceding escape character will be present in the returned string. Various flags
alter this behaviour.
The meaning of the arguments is as follows:
stream The stream to read from.
len If not NULL, the length of the string is stored in the memory location to which it points.
lineno If not NULL, the value of the memory location to which is pointed to, is incremented by the number of lines actually read from the
file.
delim Contains the escape, continuation, and comment characters. If a character is NUL then processing for that character is disabled. If
NULL, all characters default to values specified below. The contents of delim is as follows:
delim[0] The escape character, which defaults to , is used to remove any special meaning from the next character.
delim[1] The continuation character, which defaults to , is used to indicate that the next line should be concatenated with the
current one if this character is the last character on the current line and is not escaped.
delim[2] The comment character, which defaults to #, if not escaped indicates the beginning of a comment that extends until the end
of the current line.
flags If non-zero, alter the operation of fparseln(). The various flags, which may be or-ed together, are:
FPARSELN_UNESCCOMM Remove escape preceding an escaped comment.
FPARSELN_UNESCCONT Remove escape preceding an escaped continuation.
FPARSELN_UNESCESC Remove escape preceding an escaped escape.
FPARSELN_UNESCREST Remove escape preceding any other character.
FPARSELN_UNESCALL All of the above.
RETURN VALUES
Upon successful completion a pointer to the parsed line is returned; otherwise, NULL is returned.
The fparseln() function uses internally fgetln(3), so all error conditions that apply to fgetln(3), apply to fparseln(). In addition
fparseln() may set errno to ENOMEM and return NULL if it runs out of memory.
SEE ALSO
fgetln(3)
HISTORY
The fparseln() function first appeared in NetBSD 1.4.
BSD
December 1, 1997 BSD