String replacement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting String replacement
# 1  
Old 10-13-2013
Question String replacement

Hi,

I have a text file where all records come in one line (single line file), each record starts with 'BUCH' and ends with '@&' and if data is not there we get space instead. between '@&' and next record there might be some spaces, now I want to remove those spaces between '@&' and 'BUCH'.

Please help.

Input file
Code:
BUCH20131013                                                          4748420001                    BUCA20131013                                                          4748520001                    '@&'               BUCH20131013                                                          4748420002                    BUCA20131013                                                          4748520002                    '@&'               BUCH20131013                                                          4748420001                    BUCA20131013                                                          4748520003                    '@&'               BUCH20131013                                                          4748420001                    BUCA20131013                                                          4748520004                    '@&'               BUCH20131013                                                          4748420001                    BUCA20131013                                                          4748520005

output:
Code:
BUCH20131013                                                          4748420001                    BUCA20131013                                                          4748520001                    BUCH20131013                                                          4748420002                    BUCA20131013                                                          4748520002                    BUCH20131013                                                          4748420001                    BUCA20131013                                                          4748520003                    BUCH20131013                                                          4748420001                    BUCA20131013                                                          4748520004                    BUCH20131013                                                          4748420001                    BUCA20131013                                                          4748520005


Thanks in advance.

Last edited by Scrutinizer; 10-13-2013 at 07:21 PM.. Reason: code tags instead of noparse tags
# 2  
Old 10-13-2013
Some like this:
Code:
awk "{gsub(/ '\@\&'/,x)}1" file
BUCH20131013 4748420001 BUCA20131013 4748520001 BUCH20131013 4748420002 BUCA20131013 4748520002 BUCH20131013 4748420001 BUCA20131013 4748520003 BUCH20131013 4748420001 BUCA20131013 4748520004 BUCH20131013 4748420001 BUCA20131013 4748520005

PS remember Code Tags
# 3  
Old 10-13-2013
Try:
Code:
sed "s/ *'@&' */ /g" file

# 4  
Old 10-13-2013
Using sed
Code:
sed "s/ '@&' /\n/g" infile 
BUCH20131013 4748420001 BUCA20131013 4748520001
BUCH20131013 4748420002 BUCA20131013 4748520002
BUCH20131013 4748420001 BUCA20131013 4748520003
BUCH20131013 4748420001 BUCA20131013 4748520004
BUCH20131013 4748420001 BUCA20131013 4748520005

# 5  
Old 10-13-2013
To avoid line length limitations one could try breaking it down in actual records.
Code:
gawk '{sub($NF,x)}1' RS=BUCH ORS=BUCH file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parallel replacement string

Hi, Using the following command, I can only get rid of the last extension from my input file name: parallel command '>' {.}.output ::: my.input.file The output file is "my.input.output" How can I get rid of the last two extensions of my input file name, so that end up with "my.output"?... (4 Replies)
Discussion started by: forU
4 Replies

2. Shell Programming and Scripting

String replacement.

Dear Friends, I want to replace following line with given line. It should grep/search following string in a file (input.txt) M/M SRNO: 000M/6200-0362498 COSMETIC PRO MALE FEMALE Once found it should replace it to following string. T_DLHNNO: 000M/6200-0362498 ... (7 Replies)
Discussion started by: anushree.a
7 Replies

3. Shell Programming and Scripting

String replacement

Hi All, I have below file which has data in below format. #$ | AB_100 | AB_300 ()| AB_4 @*(% | AB-789 i want o/p as below format. | AB_100 | AB_300 | AB_4 | AB-789 So here there is no standard format. How we can achieve the same in unix ? Regards, (3 Replies)
Discussion started by: gander_ss
3 Replies

4. Shell Programming and Scripting

String replacement using sed

I need to search and replace a particular string in a file. Only the exact match of the string should be replaced. eg: File contents : abc abcd abcdef --> Replace only 'abc' with 'xyz', but it should not replace abcd with xyzd. So the o/p should be: xyz abcd abcdef. How can this be done? I... (5 Replies)
Discussion started by: sngk
5 Replies

5. Shell Programming and Scripting

String replacement

I have one string string1=user/password:IP_ADDR:Directory I need to replace string1 value like store into string2 string2=user password:IP_ADDR:Directory i.e replace "/" character by '<space>' character But i wouldn't use any file in the meantime. Please help me......................... (6 Replies)
Discussion started by: mnmonu
6 Replies

6. Shell Programming and Scripting

String replacement

Hi I am new to shell scripting but i manage to do some simple things. I am trying to replace a string in one file. I am using sed to replace but it is not permanently writing to the file, rather it is temporary. I want to know whether is there any another method to replace a string in a file... (7 Replies)
Discussion started by: reddybs
7 Replies

7. Shell Programming and Scripting

Replacement of string

Hi I have a text file which contains the following. AAA,BBB,CCC,DDD AAA,BBB,CCC,DDD AAA,BBB,CCC,DDD How can I replace all CCC with 888, with other contents inside the file remain unchange? Please advice Desired output: AAA,BBB,888,DDD AAA,BBB,888,DDD AAA,BBB,888,DDD (1 Reply)
Discussion started by: c0384
1 Replies

8. Shell Programming and Scripting

AWK String replacement

I have an xml file with following tags <NewTag>value123</xyz> <NewTag>value321</abcd> I have to replace the values in between the tags with some value ( VAL1/VAL2) but the thing the ending tag can be any thing, for this i need a awk command currently i am using this but it... (5 Replies)
Discussion started by: subin_bala
5 Replies

9. Shell Programming and Scripting

String Replacement Script

Okay, I have a script right now that is made to search through a file and replace certain strings with a new one. The format to execute is "/subst <replacethis> <withthis> <filename>" and it only updates the file IF changes are made (in order to preserve the time it was made/last modified). I have... (6 Replies)
Discussion started by: jbud
6 Replies

10. Shell Programming and Scripting

sed problem - replacement string should be same length as matching string.

Hi guys, I hope you can help me with my problem. I have a text file that contains lines like this: 78 ANGELO -809.05 79 ANGELO2 -5,000.06 I need to find all occurences of amounts that are negative and replace them with x's 78 ANGELO xxxxxxx 79... (4 Replies)
Discussion started by: amangeles
4 Replies
Login or Register to Ask a Question