Sponsored Content
Top Forums Shell Programming and Scripting Sed replacing words with abbreviations Post 302293392 by chebarbudo on Tuesday 3rd of March 2009 04:24:50 AM
Old 03-03-2009
Hi there,
I think this was the correct forum. At least it's the one I use.
If your not very familiar with sed, here are some remarks:
1) You can put all the replacements in one sed
Code:
cat addresses.txt | sed -e 's/Ave./Avenue/; s/St./Street/; s/E./East/; s/Ter./Terrace/' > addresses4.txt

2) Without the g option, only the first occurence of the string in each line will be replaced. I know it's not very likely to have "Ave." appear two times in an address, but you'd better be sure
Code:
cat addresses.txt | sed -e 's/Ave./Avenue/g; s/St./Street/g; s/E./East/g; s/Ter./Terrace/g' > addresses4.txt

3) You don't need to cat the file, just give it as an argument
Code:
sed -e 's/Ave./Avenue/g; s/St./Street/g; s/E./East/g; s/Ter./Terrace/g' addresses.txt > addresses4.txt

4) And if you want to replace the file itself, use the i switch
Code:
sed -i 's/Ave./Avenue/g; s/St./Street/g; s/E./East/g; s/Ter./Terrace/g' addresses.txt

5) Beware that a period (.) is a special character that represent any other one. Which means that Aven, Avel, Aved all match Ave. and will be replaced by Avenue. Escape the period to match an actual period.
Code:
sed -i 's/Ave\./Avenue/g; s/St\./Street/g; s/E\./East/g; s/Ter\./Terrace/g' addresses.txt

I hope I helped
Santiago
 

10 More Discussions You Might Find Interesting

1. Programming

Replacing words in a file

I'm trying to write a program that will open an existing file supplied by the command line argument and then replace words with "We" or "we" by "I" and "a" or "A" by "The". When I run the program it reads the file, changes the word but re writes it on a new line with only the replaced words not the... (1 Reply)
Discussion started by: adam85
1 Replies

2. UNIX for Dummies Questions & Answers

sed [delete everything between two words]

Hi, I have the following codes below that aims to delete every words between two pattern word. Say I have the files To delete every word between WISH_LIST=" and " I used the below codes (but its not working): #!/bin/sh sed ' /WISH_LIST=\"/ { N /\n.*\"/ {... (3 Replies)
Discussion started by: Orbix
3 Replies

3. Shell Programming and Scripting

Replacing words in a fast way

Hi, I have a file that looks like this: br0 br0 br1 br10 br11 br12 br13 br14 br15 br15 br2 br2 br3 br4 br5 br6 br7 (5 Replies)
Discussion started by: phil_heath
5 Replies

4. Shell Programming and Scripting

Replacing words

Hi, I have am using a file that contains names that I want to replace. Basically file 1 looks like this jack joe james john I have another file (file 2) that looks like this jack 2345 joe 6848 james 3342 john 3432 Basically I want to replace column1 from file1... (4 Replies)
Discussion started by: kylle345
4 Replies

5. Shell Programming and Scripting

sed append words

Hi all, I have a file like one two three for five six seven eight ..... Actually i need to append a label to the words that belong to the 2 column and get: one two_label three for five six_label seven eight .... I was trying with sed inside vim but I can't figure out... (9 Replies)
Discussion started by: Dedalus
9 Replies

6. Shell Programming and Scripting

SED - delete words between two possible words

Hi all, I want to make an script using sed that removes everything between 'begin' (including the line that has it) and 'end1' or 'end2', not removing this line. Let me paste an 2 examples: anything before any string begin few lines of content end1 anything after anything before any... (4 Replies)
Discussion started by: meuser
4 Replies

7. Shell Programming and Scripting

sed inside sed for replacing string

My need is : Want to change docBase="/something/something/something" to docBase="/only/this/path/for/all/files" I have some (about 250 files)xml files. In FileOne it contains <Context path="/PPP" displayName="PPP" docBase="/home/me/documents" reloadable="true" crossContext="true">... (1 Reply)
Discussion started by: linuxadmin
1 Replies

8. Shell Programming and Scripting

Replacing words in file

Hello All Probably this is very simple for you but I cant figure it out I have to replace "No Header" with "Output Field Names" I/P file <ATTRIBUTE NAME ="Header Options" VALUE ="No Header"/> O/P needed <ATTRIBUTE NAME ="Header Options" VALUE = "Output Field Names"> (4 Replies)
Discussion started by: Pratik4891
4 Replies

9. UNIX for Dummies Questions & Answers

Replacing word and Capitalize words after

I have an assignment and I am not sure what to do. In Unix, I use PuTTY change the semicolon (;) to a period, and capitalize the first letter of the word immediately after it. I know change command is M-% and "." so only one semicolon is changed but I am not sure how to... (1 Reply)
Discussion started by: kathrut43
1 Replies

10. Shell Programming and Scripting

sed parser behaving strange on replacing multiple words in multiple files

I have 4000 files like $cat clus_grp_seq10_g.phy 18 1002 anig_OJJ65951_1 ATGGTTTCGCAGCGTGATAGAGAATTGTTTAGGGATGATATTCGCTCGCGAGGAACGAAGCTCAATGCTGCCGAGCGCGAGAGTCTGCTAAGGCCATATCTGCCAGATCCGTCTGACCTTCCACGCAGGCCACTTCAGCGGCGCAAGAAGGTTCCTCG aver_OOF92921_1 ... (1 Reply)
Discussion started by: sammy777888
1 Replies
Locale::Codes::LangFam(3pm)				 Perl Programmers Reference Guide			       Locale::Codes::LangFam(3pm)

NAME
Locale::Codes::LangFam - standard codes for language extension identification SYNOPSIS
use Locale::Codes::LangFam; $lext = code2langfam('apa'); # $lext gets 'Apache languages' $code = langfam2code('Apache languages'); # $code gets 'apa' @codes = all_langfam_codes(); @names = all_langfam_names(); DESCRIPTION
The "Locale::Codes::LangFam" module provides access to standard codes used for identifying language families, such as those as defined in ISO 639-5. Most of the routines take an optional additional argument which specifies the code set to use. If not specified, the default ISO 639-5 language family codes will be used. SUPPORTED CODE SETS
There are several different code sets you can use for identifying language families. A code set may be specified using either a name, or a constant that is automatically exported by this module. For example, the two are equivalent: $lext = code2langfam('apa','alpha'); $lext = code2langfam('apa',LOCALE_LANGFAM_ALPHA); The codesets currently supported are: alpha This is the set of three-letter (lowercase) codes from ISO 639-5 such as 'apa' for Apache languages. This is the default code set. ROUTINES
code2langfam ( CODE [,CODESET] ) langfam2code ( NAME [,CODESET] ) langfam_code2code ( CODE ,CODESET ,CODESET2 ) all_langfam_codes ( [CODESET] ) all_langfam_names ( [CODESET] ) Locale::Codes::LangFam::rename_langfam ( CODE ,NEW_NAME [,CODESET] ) Locale::Codes::LangFam::add_langfam ( CODE ,NAME [,CODESET] ) Locale::Codes::LangFam::delete_langfam ( CODE [,CODESET] ) Locale::Codes::LangFam::add_langfam_alias ( NAME ,NEW_NAME ) Locale::Codes::LangFam::delete_langfam_alias ( NAME ) Locale::Codes::LangFam::rename_langfam_code ( CODE ,NEW_CODE [,CODESET] ) Locale::Codes::LangFam::add_langfam_code_alias ( CODE ,NEW_CODE [,CODESET] ) Locale::Codes::LangFam::delete_langfam_code_alias ( CODE [,CODESET] ) These routines are all documented in the Locale::Codes::API man page. SEE ALSO
Locale::Codes The Locale-Codes distribution. Locale::Codes::API The list of functions supported by this module. http://www.loc.gov/standards/iso639-5/id.php ISO 639-5 . AUTHOR
See Locale::Codes for full author history. Currently maintained by Sullivan Beck (sbeck@cpan.org). COPYRIGHT
Copyright (c) 2011-2013 Sullivan Beck This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.18.2 2013-11-04 Locale::Codes::LangFam(3pm)
All times are GMT -4. The time now is 10:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy