vi substitution help


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers vi substitution help
# 1  
Old 03-28-2012
vi substitution help

Hi experts,

Could someone help me how to figure out the following substitution?

I copied and pasted a column of names from an Excel file into another file in vi. The column of data has last names with dash (hyphens) and apostrophes. My goal is to do the following:
1) remove the apostrophes and hyphens in the name

Example:

John D'Maloney
Mandy O'Neal
Joe Jackson-Smith

Please assist. Thanks!
# 2  
Old 03-28-2012
in vi editor mode

Code:
:%s/'//g
:%s/-//g

This User Gave Thanks to ningy For This Post:
# 3  
Old 03-28-2012
vi

Hi,

Try this one,

Code:
:%s/\([a-zA-Z]\)['-]\([a-zA-Z]\)/\1 \2/g

' and - wil replace by space.

Cheers,
RangaSmilie
# 4  
Old 03-28-2012
Thanks

Hi Ranga,

For some reason, but your command substituted only one line. Does my cursor has to be at the end for file?

Thanks!

---------- Post updated at 12:19 PM ---------- Previous update was at 11:38 AM ----------

Quote:
Originally Posted by ningy
in vi editor mode

Code:
:%s/'//g
:%s/-//g

Hi Ningy,

Thank you for your post; the command worked. My next dilema is that the names in my file has a space after the apostrophe.

Example:

John D' Smith
Jane M' Doe

So what should I include to remove the white space to make the part before apostrophe and part after to combine.

Example:

John D' Smith --> John DSmith

Any feedback is greatly appreciated.

Thanks!
# 5  
Old 03-28-2012
Do them all at once with this beautiful command (separate the different search/replaces with a pipe symbol):

Code:
:%s/' //g|%s/'//g|%s/-//g

# 6  
Old 03-28-2012
Or even shorter and less understandable Smilie
Code:
:%s#'\|-\|' ##g

# 7  
Old 03-28-2012
Quote:
Originally Posted by Peasant
Or even shorter and less understandable Smilie
Code:
:%s#'\|-\|' ##g

In my version of vi I get "substitute pattern match failed" :-(
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Substitution

I am trying to do some substitutions using the substitution operator (:%s) in a text file. I want to replace all A1, A2, A3.......A100 in my text file. I used :%s/A2/SAE/g successfully until A9 but when I use A1, all the A11 to A19 is changed. How do I specify the exact match here? (8 Replies)
Discussion started by: Kanja
8 Replies

2. Shell Programming and Scripting

vi substitution

Hello, I'm trying to do a substitution in vi. which adds a field for the year to a line. If the line doesnt include a year, it should still add a field (although empty) the fields are: Country:number:number:name(and sometimes year):place this is a desired in and output: Sweden:55:32:John... (2 Replies)
Discussion started by: drareeg
2 Replies

3. Shell Programming and Scripting

substitution help

How do i substitute ' with space in a file using sed or awk i am getting the following two scenarios 1) xyz'd with xyz d if i use sed 's/xyz\\\'d/xy z/g' it is taking ' after \ as closing expr for substitution 2) xyz';d with xyz d please advice (8 Replies)
Discussion started by: mad_man12
8 Replies

4. UNIX for Dummies Questions & Answers

help with substitution

Hello, I have a file with 10,000+ records which look like this: Image3992170.tif 4/21/200811:42:09AM 3,373.13KB Image3993265.tif 4/11/20087:17:58PM 2,369.72KB Image3996764.tif 5/2/200811:01:28AM 2,155.87KB Image3997700.tif ... (4 Replies)
Discussion started by: lotusdeva
4 Replies

5. Shell Programming and Scripting

Substitution

All, I have this text document that contains a listing(See below). What i would like to ask is how i could extract just the information i need which is the files name (CWS*****.***.gz) If anyone has any suggestions i would be very grateful. I am sure its relatively simple but i just... (6 Replies)
Discussion started by: Andyp2704
6 Replies

6. Shell Programming and Scripting

Difference between "Command substitution" and "Process substitution"

Hi, What is the actual difference between these two? Why the following code works for process substitution and fails for command substitution? while IFS= read -r line; do echo $line; done < <(cat file)executes successfully and display the contents of the file But, while IFS='\n' read -r... (3 Replies)
Discussion started by: royalibrahim
3 Replies

7. Shell Programming and Scripting

SED Substitution

Hi , I am stuck up in the below scenario:- I need to read a file name (eg A.txt) name frm another file (eg B.txt) and then I need to search for a particular expression in A.txt and substitute it with another expression. How can I use SED inside SHELL Scripting and command prompt as well to... (1 Reply)
Discussion started by: shubhranshu
1 Replies

8. Shell Programming and Scripting

Substitution using SED

Hi , I am stuck up in the below scenario:- I need to read a file name (eg A.txt) name frm another file (eg B.txt) and then I need to search for a particular expression in A.txt and substitute it with another expression. How can I use SED inside SHELL Scripting and command prompt as... (2 Replies)
Discussion started by: shubhranshu
2 Replies

9. UNIX for Dummies Questions & Answers

Need help in substitution!!!!

In a file I want to globally change a "|" charater by a new line character. I am using the command 1,$s/\|/??/g Can anybody say what should I put in place of ?? in the above command? (3 Replies)
Discussion started by: uLearner
3 Replies

10. Shell Programming and Scripting

substitution

I am trying to substituted a variable to a file using sed. However, the value of that variable is not being substituted. Here is an example of my code. lf=' ' v_whole="${1} ${2} ${3} $lf" cp ${IPPDIR}/ctl/fax_sub_text_a.${4}.${5}.txt... (1 Reply)
Discussion started by: supercbw
1 Replies
Login or Register to Ask a Question