This should be regarded as a bug in pdksh, the behavior of ksh93 is absolutely definitely correct.
You probably know that "\" is used to escape characters with a special meaning to the shell. For instance "$var" would be parsed the following way: the shell sees "$", which means "take the word after that and look for a variable with that name ("var"), then replace the "$" and the word following it with the contents of this variable". Because there is no way to literally use a "$" this way we can use "\$" to tell the shell not to regard this special behavior of "$" and treat it like a normal character.
Example:
For the same reason we need to escape the backslash itself, because it also has a special meaning - to escape other characters. Therefore: to literally write a backslash we have to precede it by a - backslash!
Look at your statement now in light of this explanation, the reason why the output has to be "\n" should be clear by now.
Quote:
Originally Posted by neeto
I have another question
Moderator's Comments:
Please open another thread for this. We want our threads to deal with only one problem at a time to make our database of problems already dealt with as clear as possible. Thanks.
Hi,
I am trying to write a script to prepare some text for use as web content.
What is happening is that all the newlines in the textfile are ignored, so I want
to be able to replace/add a few characters so that for a file containg:
This is line 1.
This is line two.
This is line four.... (1 Reply)
hi,
I want to print the below lines
"Message from bac logistics
The Confirmation File has not been received."
When i give like this in the code
"Message from bac logistics\n The Confirmation File has not been received."
It is giving only
Message from bac logistics\n The... (9 Replies)
hi,
I have a for loop where in I write some file name to another file.
I want to write all the filenames to another without any newlines. how can i avoid getting new lines with echo?
Thanks,
Srilaxmi (2 Replies)
Hi Guys,
Happy New Year to you all!
I have a requirement to read an embedded new-line using KSH's read builtin.
Here is what I am trying to do:
run_sql "select guestid, address, email from guest" | while read id addr email
do
## Biz logic goes here
done
I can take care of any... (6 Replies)
Removed.
My question does not make sense. and SED does see the last newline character.
But I still have a question:
How to remove the last newline character(the newline character at the end of last line) using SED?
---------- Post updated 05-01-11 at 10:51 AM ---------- Previous update was... (7 Replies)
I have a file (pema)with a single long record which i have to break up into multiple lines
Input
s1aaaaaaaaaaaaaaaaaaaaaaas1bbbbbbbbbbs1cccccccccc
Output
s1aaaaaaaaaaaaaaaaaaaaaaa
s1bbbbbbbbbb
s1cccccccccc
m planning to do it by replacing s1 by \ns1 \n is the new line character
i... (5 Replies)
Hi all..
I have a text file which looks like below:
abcd
efgh
ijkl
(blank space)
I need to remove only the last (blank space) from the file. When I try wc -l the file name,the number of lines coming is 3 only, however blank space is there in the file.
I have tried options like... (14 Replies)
Hi Experts,
I have several shell scripts that have been developed on a Linux box for korn ksh93.
If we want to run this software on an AIX 6.1 box that runs ksh88 by default can we just change the she-bang line to reference /bin/ksh93 which ships with AIX as its "enhanced shell" to ensure... (6 Replies)
I have a file which comes every day and the file data look's as below.
Vi abc.txt
a|b|c|d\n
a|g|h|j\n
Some times we receive the file with only a new line character in the file like
vi abc.txt
\n (8 Replies)
Discussion started by: rak Kundra
8 Replies
LEARN ABOUT LINUX
shcomp
SHCOMP(1) User Environment Utilities SHCOMP(1)NAME
shcomp - compile a ksh93 shell script
SYNOPSIS
shcomp [ options ] [infile] [outfile]]
ORIGIN OF THIS MAN PAGE
This man page was written by Christophe Martin <Schplurtz@free.fr> for the Debian GNU/Linux system. It is based on "shcomp --man" output.
DESCRIPTION
Unless -D is specified, shcomp takes a shell script, infile, and creates a binary format file, outfile, that ksh93 can read and execute
with the same effect as the original script.
Since aliases are processed as the script is read, alias definitions whose value requires variable expansion will not work correctly.
If -D is specified, all double quoted strings that are preceded by $ are output. These are the messages that need to be translated to
locale specific versions for internationalization.
If outfile is omitted, then the results will be written to standard output. If infile is also omitted, the shell script will be read from
standard input.
OPTIONS -D, --dictionary
Generate a list of strings that need to be placed in a message catalog for internationalization.
-n, --noexec
Displays warning messages for obsolete or non-conforming constructs.
-v, --verbose
Displays input from infile onto standard error as it reads it.
--man Displays this man page on standard error and exits.
--help Shows a short help message and exits.
EXIT STATUS
0 Successful completion.
>0 An error occurred.
DEBIAN WARNING
On a Debian GNU/Linux system, more than one package may provide ksh. the output of shcomp can only be used by ksh93. Any other ksh will be
unable to run the compiled script.
EXAMPLE
( echo '#! /bin/ksh93' ; shcomp myscript ) > myscript.bin &&
chmod 755 myscript.bin
./myscript.bin
SEE ALSO ksh(1)IMPLEMENTATION
version shcomp (AT&T Labs Research) 2003-03-02
author David Korn <dgk@research.att.com>
copyright Copyright (c) 1982-2005 AT&T Corp.
license http://www.opensource.org/licenses/cpl1.0.txt
KSH93 Fri Jun 3 2005 SHCOMP(1)