String replace With Sed


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting String replace With Sed
# 1  
Old 02-28-2012
String replace With Sed

Hi,
I have a text file
Code:
6 00 01 ww code                           40 80 30 NIK MOT 001
7 02 01 ww perl                            40 80 30 NIK MOT 002
8 06 01 ww shell (unix)                  40 80 30 LG MOT 007
4 03 04 xx Java (McGraw)             99 77 33 hhh uuu      X

I have to replace the bold part with "CGS"
Code:
sed -ne "s/\(.*\) \(.*\) \(.*\) \(.*\)$/ \1 CGS \3 \4/p" file_name

it doesn't give the correct result because of the last record....
Thanks for help

Last edited by Franklin52; 02-28-2012 at 07:00 AM.. Reason: Please use code tags for code and data samples, thank you
# 2  
Old 02-28-2012
Code:
awk '{$(NF-2)="CGS"}1' file

Guru.
This User Gave Thanks to guruprasadpr For This Post:
# 3  
Old 02-28-2012
with sed :
Code:
sed 's/[^ ]* \([^ ]*  [^ ]*\)$/CGS \1/' yourfile

# 4  
Old 02-28-2012
Alternate Sed..
Code:
sed 's/\(.*\)  *\([^ ]*\) \([^ ]*  *[^ ]*\)$/\1 CGE \3/' inputfile

# 5  
Old 02-28-2012
Quote:
Originally Posted by guruprasadpr
Code:
awk '{$(NF-2)="CGS"}1' file

Guru.
Thanks for your help .
Is it possible to have the output in the original format (now all the fields are separated by one space)
Code:
6 00 01 ww code                           40 80 30 CGS MOT 001
7 02 01 ww perl                             40 80 30 CGS MOT 002
8 06 01 ww shell (unix)                   40 80 30 CGS MOT 007
4 03 04 xx Java (McGraw)               9 77 33 CGS uuu       X

Moderator's Comments:
Mod Comment How to use code tags

Last edited by Anu_1; 02-28-2012 at 12:02 PM.. Reason: Fixed code tags
# 6  
Old 02-28-2012
Code:
sed 's/[^ ]*\(  *[^ ]*  *[^ ]*\)$/CGS\1/' yourfile

# 7  
Old 02-29-2012
String replace with sed

Quote:
Originally Posted by michaelrozar17
Alternate Sed..
Code:
sed 's/\(.*\)  *\([^ ]*\) \([^ ]*  *[^ ]*\)$/\1 CGE \3/' inputfile

Thanks for help , but the last record is not processed correctly
Code:
6 00 01 ww code                           40 80 30 CGE MOT 001
7 02 01 ww perl                            40 80 30 CGE MOT 002
8 06 01 ww shell (unix)                  40 80 30 CGE MOT 007
4 03 04 xx Java (McGraw)             99 77 33 hhh uuu    CGE  X

---------- Post updated at 11:27 PM ---------- Previous update was at 11:18 PM ----------

Quote:
Originally Posted by ctsgnb
with sed :
Code:
sed 's/[^ ]* \([^ ]*  [^ ]*\)$/CGS \1/' yourfile

Thanks for help. I got the following out put
Code:
6 00 01 ww code                           40 80 30 NIK MOT 001
7 02 01 ww perl                            40 80 30 NIK MOT 002
8 06 01 ww shell (unix)                  40 80 30 LG MOT 007
4 03 04 xx Java (McGraw)             99 77 33 hhh CGS   X

Required output is:
6 00 01 ww code                           40 80 30 CGS MOT 001
7 02 01 ww perl                            40 80 30 CGS MOT 002
8 06 01 ww shell (unix)                  40 80 30 CGS MOT 007
4 03 04 xx Java (McGraw)             99 77 33 CGS CGS   X

Thanks in advance
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace String without using sed

Hi Team, I have a file and need to replace string. Out of 20 rows, there is one row given below $Paramsoqlfilter=Systemmodstamp > 1900-01-01T00:00:00.000Z in a Shell Script, I have a variable HIST_DATE="1900-01-01T00:00:00.000Z" INC_DATE="2018-10-04T09:18:43.000Z" Now I need to... (14 Replies)
Discussion started by: ace_friends22
14 Replies

2. Shell Programming and Scripting

Using sed to replace string

Hello guys, I'm working in a cellular company and i'm trying to do a script to run some commands automaticlly. I'm using Solaris version :SunOS pk-ercuas4 5.10 in my work. I've a file that creates by script named test1.mos that that look like: confb+ gsg+ lt all $date = `date... (1 Reply)
Discussion started by: oferg
1 Replies

3. Shell Programming and Scripting

Replace string in XML file with awk/sed with string from another

Sorry for the long/weird title but I'm stuck on a problem I have. I have this XML file: </member> <member> <name>TransactionID</name> <value><string>123456789123456</string></value> </member> <member> <name>Number</name> ... (9 Replies)
Discussion started by: cozzin
9 Replies

4. Shell Programming and Scripting

sed String Replace

I have this file and variable on my machine $cat /tmp/disk.tmp check_disk.pl -H localhost -D ARG1 -w 75 -c 90 $echo $_ARG1 /,/opt,/tmp,/usr,/var,/boot,/dev/shm how do I replace the string ARG1 in my file (disk.tmp) with the value of my variable _ARG1 and placing them inside quotes while... (4 Replies)
Discussion started by: thursday_g0ne
4 Replies

5. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

6. Shell Programming and Scripting

replace (sed?) a string in file with multiple lines (string) from variable

Can someone tell me how I can do this? e.g: a=$(echo -e wert trewt ertert ertert ertert erttert erterte rterter tertertert ert) How do i replace the STRING with $a? I try this: sed -i 's/STRING/'"$a"'/g' filename.ext but this don' t work (2 Replies)
Discussion started by: jforce
2 Replies

7. Shell Programming and Scripting

How to use sed to replace the a string in the same file using sed?

How do i replace a string using sed into the same file without creating a intermediate file? (7 Replies)
Discussion started by: gomes1333
7 Replies

8. Shell Programming and Scripting

Using sed to replace a string in file with a string in a variable that contains spaces

Hi, i call my shell like: my_shell "my project name" my script: #!/bin/bash -vx projectname=$1 sed s/'PROJECT_NAME ='/'PROJECT_NAME = '$projectname/ <test_config_doxy >temp cp temp test_config_doxy the following error occurres: sed s/'PROJECT_NAME ... (2 Replies)
Discussion started by: vivelafete
2 Replies

9. Shell Programming and Scripting

sed: replace string with another string (with spaces)

Hi I have an XML file with strings XABCD, XEFGHX and XIJKLX. I would like to replace XABCDX with "This is the first string", XEFGHX with "This is the second string" and XIJKLX with "This is the third string". What is the best way to implement this? Should I have a file with the data that is... (4 Replies)
Discussion started by: zmfcat1
4 Replies

10. UNIX for Dummies Questions & Answers

Is it possible to replace more the 1 string with one SED?

i want to replace two phrases in text file originalstringA.1. blah blah.... originalstringB.1. got this code so far: #variables IP=$1 NO=$2 FS=$3 IS=$4 NN=1 #echo variables echo '' echo $IP echo $NO echo $FS echo $IS (1 Reply)
Discussion started by: tuathan
1 Replies
Login or Register to Ask a Question