Unable to replace string in AIX ksh shell


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Unable to replace string in AIX ksh shell
# 1  
Old 09-03-2019
Unable to replace string in AIX ksh shell

My variable contains the following string

Quote:
echo $str
/fin/app/scripts\n/fin/app/01/sql
I wish to replace \n with "space" so the expected output is:

Quote:
/fin/app/scripts /fin/app/01/sql
I understand that the /n is not a new linein this case.

I'm on AIX using ksh shell. Below is all that I tried.

Code:
echo $str | sed -e "s#\n# #g";
echo $str | sed -e "s#\n#' '#g";
echo $str | sed -e "s#/\n#' '#g";
echo $str | sed -e "s#/\n# #g";
echo "${str///\n/ }"
echo "${str//\n/ }"
tr '\n' ' ' | echo $str

Unfortunately none of the above attempts helped.

Last edited by mohtashims; 09-03-2019 at 07:11 AM..
# 2  
Old 09-03-2019
Code:
$ echo $str | sed -e 's#\\n# #g';
/fin/app/scripts /fin/app/01/sql

# 3  
Old 09-03-2019
more Parameter2.out
/fin/app/01/scripts\\n/fin/app/01/sql

I tried your suggestion on a new string containing "\\n" which is read from a file.

Unfortunately, I m not able to replace the \\n

Below is what I tried.

Code:
echo $str | sed -e 's#\\\\n# #g';

Let me know if I should open a new thread of this ?
# 4  
Old 09-03-2019
Code:
$ echo '/fin/app/scripts\\n/fin/app/01/sql' | sed -e 's#\\\\n# #g';
/fin/app/scripts /fin/app/01/sql
$ echo '/fin/app/scripts\\n/fin/app/01/sql' > file
$ sed -e 's#\\\\n# #g' file
/fin/app/scripts /fin/app/01/sql

This User Gave Thanks to anbu23 For This Post:
# 5  
Old 09-03-2019
Thank you @anbu23. I have posted a new thread further to the problem:

Replace string works on command-line but fails when run from shell script

Last edited by mohtashims; 09-03-2019 at 08:47 AM..
# 6  
Old 09-13-2019
Code:
tr '\n' ' ' <( echo $str )

or
Code:
echo $str | tr '\n' ' '

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell Scripting , need to search and replace a string in AIX

Hi Guys, I need to search and replace a string in AIX using variables and should be case insensitive. I am able to search and replace using below command but its not working as case insensitive. cat abc.txt | sed -e 's/$a/$b/g' > abc.txt But i need to perform this with case... (9 Replies)
Discussion started by: mohit_vardhani
9 Replies

2. Shell Programming and Scripting

Unable to set PATH through ksh shell

I'm trying to set path for the current session but it is not doing so. It works perfectly on command line though. #!/usr/bin/ksh PATH=$PATH:/opt/quest/bin Is there any specific way to set path on korn? (3 Replies)
Discussion started by: pjeedu2247
3 Replies

3. Shell Programming and Scripting

Using sed in ksh to find and replace string

Hi All, I have a file in which contains location of various data files. I want to change locations using sed. Find and replace strings are in a separate file. Content of this file (/tmp/tt) - /dd/pp/test/test/1/ /pp/aa/test/dg1/ /dd/pp/test/test/2/ /pp/aa/test/dg2/ /dd/pp/test/test/3/... (2 Replies)
Discussion started by: pandeyra
2 Replies

4. UNIX for Dummies Questions & Answers

Unable to convert date into no. using date -d +%s syntax in ksh shell

hi friends, I m trying to write a script which compares to dates. for this i am converting dates into no using synatx as below v2=`date | awk '{print $2,$3,$4}'` v3=`date +%s -d "$v2"` this syntax is working in bash shell ,but fails in ksh shell. please suggest on this. (12 Replies)
Discussion started by: Jcpratap
12 Replies

5. Programming

Shell programming ksh AIX - beginner

Hi! I have two shell scripts - Script1, Script2 Script1, Script2 - have return parameter Script1 - is calling Script2 in Script2 I am calling program sqlldr - if this program is called then I did not get the return parameter from Script1 Do You have any idea how can I avoid this problem. Mroki (6 Replies)
Discussion started by: mroki
6 Replies

6. Shell Programming and Scripting

Replace string in ksh

Hello, I want to locate a special character in each line of a file and replace it with another string that contains a special character and $i (i is incresing each cycle) string1: export IBAN=AAAAAAAAA . . . . export IBAN=zzzzzzzzzzz I want it to be: export IBAN=AAAAAAAAA . export... (1 Reply)
Discussion started by: LiorAmitai
1 Replies

7. Shell Programming and Scripting

how to replace a string in the last shell command

for example the last command i run is: tail -f 2010123114_mta2.wmwm.com_postfix-MDAD.log | grep XXXX and i want to raplace '2010123114' with '2010123115', and i don't want to go back to the position and delete 4 and add 5 is there a way to replace a string? like !!//123114/123115 or... (1 Reply)
Discussion started by: wljackhero
1 Replies

8. Shell Programming and Scripting

AIX ksh: how to pass variable to host shell

I have a script that "runs" a script. For example: ./runscript.ksh pcnmc01.ksh runscript puts pcnmc01.ksh into the background with log output going to the logfile. After executing the command, I get this output: Running script in the background: pcnmc01.ksh Logfile:... (2 Replies)
Discussion started by: Eben Yong
2 Replies

9. Shell Programming and Scripting

How to use shell var for pattern string at KSH

Hi there, In the following test, how to use shell var for pattern, regular expression. I need to accept pattern at argument, use it to pattern matching at shell script. Test: #!/bin/ksh # name t.sh exp="a@(a|b)" touch aa ab ac echo "\nTest without variable" echo "---------------------"... (2 Replies)
Discussion started by: tkang007
2 Replies

10. Shell Programming and Scripting

sed not working on AIX in ksh shell!

Hi All, I have this script which doesn't work on AIX ksh shell.. # ! /usr/bin/ksh grep -irl "6000" /home/applmgr/xyz > file_list_port.log xargs sed -i 's/6000/6010/g' < file_list_port.log But this same script has worked perfectly on linux bash shell.. Could anyone please share... (4 Replies)
Discussion started by: a1_win
4 Replies
Login or Register to Ask a Question