Replace delimited value with specific conditions


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace delimited value with specific conditions
# 1  
Old 11-14-2017
Replace delimited value with specific conditions

Hi Team,

We have requirement , we are trying to load the txt format file via sqlloader, we are facing issue like double quotes " are falling inside the value . so sqlloader fails to load the file. so we have the option to implement to load the file. the following replace option need to be perfomed in the file.

Input file

Code:
"11471726"~"ASDFSA"DF"
"9446318"~"IKLJSDFSA"
"6957905"~"ASFSDFL"LIEHS"
"30201774"~"ASFDSAFDS"

O/p Needed


Code:
^11471726^~^ASDFSA§DF^
^9446318^~^IKLJSDFSA^
^6957905^~^ASFSDFL§LIEHS^
^30201774^~^ASFDSAFDS^

Thanks in advance.

Last edited by Scrutinizer; 11-15-2017 at 12:39 AM.. Reason: code tags
# 2  
Old 11-15-2017
Hi, try:
Code:
awk '{for(i=1; i<=NF; i++) {gsub(/^"|"$/,"^",$i); gsub(/"/,"§",$i)}}1'  FS=\~ OFS=\~ file

# 3  
Old 11-15-2017
Hi, Thanks for your quick respod.
when i try to execute the command. it is showing syntax error

-ksh: syntax error: `)' unexpected
# 4  
Old 11-15-2017
Quote:
Originally Posted by KK230689
Hi, Thanks for your quick respod.
when i try to execute the command. it is showing syntax error

-ksh: syntax error: `)' unexpected
It works perfectly (producing the exact sample output you requested) when I try it using ksh on macOS 10.12.6.

You should always tell us what operating system and shell you're using when you open a thread in this forum so we know what capabilities your system has. If you're using a Solaris/SunOS system, change awk in the suggestion Scrutinizer posted to /usr/xpg4/bin/awk or nawk.

If you're using some other OS, please verify that you copied Scrutinizer's suggestion exactly. One might expect an error like the one you showed us from ksh if one or both of the single-quotes (') in his suggestion had been replaced with back-quotes (`).
# 5  
Old 11-15-2017
Sorry for didn't mention in OS version.
the below version we are using .
Red Hat Enterprise Linux Server release 6.8 (Santiago)

Kindly help us to accomodate the query with above versions.
# 6  
Old 11-15-2017
Show us exactly what command you used (in CODE tags).
# 7  
Old 11-15-2017
The below code, i have tried to execute in putty.

Code:
awk '{for(i=1; i<=NF; i++) {gsub(/^"|"$/,"^",$i); gsub(/"/,"§",$i)}}1'  FS=\~ OFS=\~  file.txt


Last edited by Don Cragun; 11-15-2017 at 02:30 AM.. Reason: Add CODE tags again.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Search and replace value based on certain conditions in a fixed width file

Hi Forum. I tried searching for a solution using the internet search but I haven't been able to find any solution for what I'm trying to accomplish. I have a fixed width column file where I need to search for any occurrences of "D0" in col pos.#1-2, 10-11, 20-21 and replaced it with "XD". ... (2 Replies)
Discussion started by: pchang
2 Replies

2. Shell Programming and Scripting

awk to assign points to variables based on conditions and update specific field

I have been reading old posts and trying to come up with a solution for the below: Use a tab-delimited input file to assign point to variables that are used to update a specific field, Rank. I really couldn't find too much in the way of assigning points to variable, but made an attempt at an awk... (4 Replies)
Discussion started by: cmccabe
4 Replies

3. UNIX for Dummies Questions & Answers

Find and replace single character w/awk given conditions

I have a file that looks like this: 14985 DPN verb PPa to spend. 12886 DPNDJN bay tree. 15686 DQ verb to observe 15656 KC ... (7 Replies)
Discussion started by: jvoot
7 Replies

4. Shell Programming and Scripting

Replace specific column range in a non-delimited file with a string!

Hi All, I will need an help with respect to replacing a range of columns on a non-delimited file using a particular string pattern. Say file input is MYNUMBERD000000-BAN CHUE INSNTS ** N+ MYAREDSDD000000+BAN CHUE INSNTS ** N+ MYDERFFFSD00000-GIR PENT - ACH ** ... (5 Replies)
Discussion started by: navojit dutta
5 Replies

5. Shell Programming and Scripting

How to copy or cut specific rows from appended file with some conditions

Hi I have one file which is containing about 5000 rows and 20 columns I will just explain about my requirement here briefly with sample file, I have attached also, please help....me.. 1 28.25 36.42 5 28.26 36.42 10 28.23 36.43 15 28.22 36.43 20 28.2 36.42 25... (6 Replies)
Discussion started by: nex_asp
6 Replies

6. UNIX for Dummies Questions & Answers

move files that match specific conditions

Hi all, I'm new to this forum and bash scripting. I have the following problem, I need to copy some files (from one dir. to another) whose first 5 numbers (subjects' ID) match the directory names. Here a shortened version of what I'm trying to do: names=(32983_f 35416_f 43579_f) # these are... (6 Replies)
Discussion started by: ada1983
6 Replies

7. Shell Programming and Scripting

Replace specific field on specific line sed or awk

I'm trying to update a text file via sed/awk, after a lot of searching I still can't find a code snippet that I can get to work. Brief overview: I have user input a line to a variable, I then find a specific value in this line 10th field in this case. After asking for new input and doing some... (14 Replies)
Discussion started by: crownedzero
14 Replies

8. Shell Programming and Scripting

Find and replace a string a specific value in specific location in AIX

Hi, I have following samp.txt file in unix. samp.txt 01Roy2D3M000000 02Rad2D3M222222 . . . . 10Mik0A2M343443 Desired Output 01Roy2A3M000000 02Rad2A3M222222 . . (5 Replies)
Discussion started by: techmoris
5 Replies

9. Shell Programming and Scripting

using sed to replace a specific string on a specific line number using variables

using sed to replace a specific string on a specific line number using variables this is where i am at grep -v WARNING output | grep -v spawn | grep -v Passphrase | grep -v Authentication | grep -v '/sbin/tfadmin netguard -C'| grep -v 'NETWORK>' >> output.clean grep -n Destination... (2 Replies)
Discussion started by: todd.cutting
2 Replies

10. UNIX for Dummies Questions & Answers

Updating specific fields with awk using conditions

Can someone help me again, I think with awk? I have a file with 4 columns (pipe-delimited): I just want to convert the last field so that e1 is now 'message 1', e2 is 'message 2', e0 is 'message 3', etc. I don't want to change any other columns because the e0-e10 code may appear as part of a... (4 Replies)
Discussion started by: giannicello
4 Replies
Login or Register to Ask a Question