sqlplus returning value - remove carriage return '\r' - Please help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sqlplus returning value - remove carriage return '\r' - Please help
# 8  
Old 09-18-2009
Quote:
Originally Posted by methyl
funksen is right . Both cases are syntax errors and do not do arithmetic.

Also, are you sure about



Assuming that the table is called v$log_history , we only need one backslash to protect the $ from shell.

Hi all,
Sorry for late reply.

Not one \ two \\ is enough( if we use one \ we will get ORA- errors)

I know only two \\ before $ (I am observed the same before) but three \\\ also working fine for me Smilie

Last edited by scripter.online; 09-18-2009 at 10:21 AM..
# 9  
Old 09-18-2009
Thanks for pointing that out scripter_online.

The table v$log_history is a standard table and I was able to try it.

Within the backticks we need three backslashes.
Without the backticks we need one backslash.

I was testing without the backticks !

Comment: It is much easier to put the whole sql program in a file and execute that. That way you do not have to protect shell characters.


Re-reading the posts, "plelie2" fixed the o/p issue yesterday.
# 10  
Old 09-18-2009
Hi methyl,

Without the backticks we need one backslash.
Within the backticks we can use two or three backslashes.

Please check the example below

Code:
$ VALUE=`sqlplus -S "/ as sysdba" <<END
set pagesize 0 feedback off verify off heading off echo off
select max(sequence#) from v\\$log_history;
exit;
END`
$ echo $VALUE
1216
$ VALUE1=`sqlplus -S "/ as sysdba" <<END
set pagesize 0 feedback off verify off heading off echo off
select max(sequence#) from v\\\$log_history;
exit;
END`
$ echo $VALUE1
1216

Both are working Smilie

I use(required) three \\\ at one suituation to connect oracle !!!!! Sorry I forgot Smilie the suituation

To know how to connect to oracle from unix shell script
Connecting to oracle database from unix shell script | Scripter World
# 11  
Old 09-18-2009
Interesting scenario scripter.online. I have been writing unix shell scripts to run Oracle processes for too many years and long ago stopped using unix "here documents" for Oracle programs because of the clashes with unix shell. I can explain the multiple backslash scenario, but continue to recommend storing Oracle programs in ".sql" text files.


BTW: The link provided leads to a website with many typos. View with caution.
P.S. forget to "quit" an Oracle session.

Last edited by methyl; 09-18-2009 at 09:40 PM.. Reason: Comment about quit
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove carriage return and append the next line

Hi All, My requirement is to remove the carriage return in from the lines which i am reading if the length is lesser than 1330 and append the next line with it. Below is the realistic example of file structure. Input file: Blah blah blah blah Blah blah blah blah Blah blah blah blah Blah... (16 Replies)
Discussion started by: mad man
16 Replies

2. Shell Programming and Scripting

Remove Carriage Return (CRLF) within double quotes

How to remove Carriage Return (CRLF) within double quotes in a file. There are multiple CRLFs within double quotes. We are on Ubuntu 14.04.2 LTS. The file that we are importing is a csv file from unix to windows and the file was formatted to unix2dos. Therefore all lines in the file all have... (12 Replies)
Discussion started by: covina
12 Replies

3. UNIX for Dummies Questions & Answers

Remove carriage return

I need to remove the carriage return comes inbetween the record. Need to have CR only at the end. I used the below command. tr -d '\n' < filewithcarriagereturns > filewithoutcarriagereturns But its removing all the CR and giving one line output. Input File: 12345 abcdegh... (11 Replies)
Discussion started by: srvn_saru
11 Replies

4. Shell Programming and Scripting

Remove carriage return from the variable

Hi, I try to handle very large numbers with a bash script. I run ssh command in a remote server and store the output in a local variable. But this output contains a return carriage at the end. So I try to remove it by tr But I can't figure out the right notation with printf. So my problem... (6 Replies)
Discussion started by: Meacham12
6 Replies

5. Shell Programming and Scripting

Awk to remove carriage return from 65th field

Hi, I have a pipe delimited file. There are around 700 columns in the file. The 65th column has carriage return which is causing read issue with our ETL process. I would like to replace the new line characters in 65th field with "nothing" i have return the following code and need help to... (7 Replies)
Discussion started by: pinnacle
7 Replies

6. Shell Programming and Scripting

Remove carriage return in a record

Hi all gurus, I need help in removing carriage return existed within a record delimited by pipe <|>. Sample: A_01|Test1|Testing1|Remarks1 A_02|Test2|Test ing2|Remarks2 A_03|Test3|Testing3| Remarks3 Desire output: A_01|Test1|Testing1|Remarks1 A_02|Test2|Testing2|Remarks2... (10 Replies)
Discussion started by: agathaeleanor
10 Replies

7. UNIX for Dummies Questions & Answers

Remove ^M (carriage return) with string manipulation

Hello, I want remove ^M at end of my files line if I use command : tr -d '\r' <inp>out it work fine but get I the same result by manipulating the string ? I want this because in my text file I manipulate some other part I have input "the cat^M" I want output "the cat" I have made... (3 Replies)
Discussion started by: aquila_1
3 Replies

8. Shell Programming and Scripting

sqlplus returns leading carriage return into a variable

I am trying to generate some scripts to help manage an Oracle database. When I check the value returned from Oracle it has a leading carriage return in the variable. Is there a way to prevent this? Is there a way to easily strip out the carriage return. See code and output below. ... (7 Replies)
Discussion started by: Panzer993
7 Replies

9. UNIX for Dummies Questions & Answers

To remove carriage return between the line

Hi, I have a situation where I need to remove the carriage return between the lines. For.eg. The input file: 1,ad,"adc sdfd",edf 2,asd,"def fde",asd The output file should be 1,ad,adc sdfd,edf 2,asd,def fde,asd Thanks Shash (5 Replies)
Discussion started by: shash
5 Replies

10. UNIX for Dummies Questions & Answers

Remove a carriage return at end of variable

Is there a command in unix to remove a carriage return character(^M) at the end of a variable value? (5 Replies)
Discussion started by: flagship99
5 Replies
Login or Register to Ask a Question