Sponsored Content
Top Forums Shell Programming and Scripting Replace aword in a.The replaced word should not be overwitten in perl(details inside) Post 302289947 by KevinADC on Friday 20th of February 2009 09:31:52 PM
Old 02-20-2009
Sorry, maybe I misunderstood, try using the word boundary anchor (\b) in the regexp in the search side:

Code:
$_=~s/\b$newfile_list\b/${newfile_list}_a/

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl log parcer. (for custom logs details inside)

OS:sol8 ok 2 things are very important. I will give examples of the logs and the client file for testing. Object: to display on the web sometime to parse your custom logs basied on the inputed date and client selected. I know alot of ppl are like who care. but i saw a perl script on here... (1 Reply)
Discussion started by: Optimus_P
1 Replies

2. Shell Programming and Scripting

perl (word by word check if a hash key)

Hi, Now i work in a code that 1-get data stored in the database in the form of hash table with a key field which is the " Name" 2-in the same time i open a txt file and loop through it word by word 3- which i have a problem in is that : I need to loop word by word and check if it is a... (0 Replies)
Discussion started by: eng_shimaa
0 Replies

3. Programming

PERL, search and replace inside foreach loop

Hello All, Im a Hardware engineer, I have written this script to automate my job. I got stuck in the following location. CODE: .. .. ... foreach $key(keys %arr_hash) { my ($loc,$ind,$add) = split /,/, $arr_hash{$key}; &create_verilog($key, $loc, $ind ,$add); } sub create_verilog{... (2 Replies)
Discussion started by: riyasnr007
2 Replies

4. Shell Programming and Scripting

perl: replace multiple word on a line

Hi All, If I have a line as following: ( MA "vertical" ) How can I convert it to as below: ( BC "horizontal" ) Thanks, --Michael (6 Replies)
Discussion started by: mxn731
6 Replies

5. Shell Programming and Scripting

Replace a word in a string starting with another word

Hi All, I have a file in which a number of lines are starting with similar first word but different next words. I want to replace the any nth word(not 1st or 2nd) with another word. Eg:- My file contains are like this:- Ram is a boy. Ram is a good boy. Ram plays cricket. Here I want to... (2 Replies)
Discussion started by: mukeshbaranwal
2 Replies

6. Shell Programming and Scripting

Find and replace a word in all the files (that contain the word) under a directory

Hi Everyone, I am looking for a simple way for replacing all the files under a directory that use the server "xsgd1234dap" with "xsdr3423pap". For Example: In the Directory, $pwd /home/nick $ grep -l "xsgd1234dap" *.sh | wc -l 119 I have "119" files that are still using... (5 Replies)
Discussion started by: filter
5 Replies

7. Red Hat

Need to mount LUN on two linux boxs (one rw the other ro) caveat details inside

Calling all Linux GURU's. The purpose of this thread is to try an recreate what we already have stood up in my environment, however the steps i am having to produce my own. I have got multiple applications that dump the data to various LUNs, the LUNs are managed by an Enterprise SAN... (11 Replies)
Discussion started by: jcejka
11 Replies

8. UNIX for Advanced & Expert Users

Perl command to replace word in file...

Hi, I want to search for a specific word in file and replace whole line with new text. e.g. 1) I have file with below lines APP=ABCD 12/12/2012 DB=DDB 01/01/2013 I need perl command which will check for APP=$VAL and replace whole line with APP=$NEWVAL $NEWDT Simlarly need a... (2 Replies)
Discussion started by: mgpatil31
2 Replies

9. UNIX for Beginners Questions & Answers

Replace exact word by perl

my inputfile: This is a test and only a test for production - prod. echo "This is a test and only a test for production - prod" | perl -pi -e 's/prod/test/g' outputfile: This is a test and only a test for testuction - test I only want to replace prod, not production. I also... (3 Replies)
Discussion started by: loktamann
3 Replies

10. Shell Programming and Scripting

Help with compare 2 column content and corrected/replaced word

Input File CGGCGCCTCGCNNNCGAGCG CGGCGCGCCGAATCCGTGCG TCGCNGC GCGCCGC ACGGCNNNNN ACGGCCTCGCG CGGCNGCCCGCCC CGGCGCGCCGTCC Desired Output File CGGCGCCTCGCNNNCGAGCG CGGCGCGCCGAATCCGTGCG CGGCGCCTCGCATCCGAGCG TCGCNGC GCGCCGC TCGCCGC ACGGCNNNNN ACGGCCTCGCG ACGGCTCGCG... (6 Replies)
Discussion started by: perl_beginner
6 Replies
ntextWordBreak(n)				 ntext Word Boundary Detection for the Text Widget				 ntextWordBreak(n)

__________________________________________________________________________________________________________________________________________________

NAME
ntextWordBreak - ntext Word Boundary Detection for the Text Widget SYNOPSIS
package require Tcl 8.5 package require Tk 8.5 package require ntext ?0.81? _________________________________________________________________ DESCRIPTION
The ntext package provides a binding tag named Ntext for use by text widgets in place of the default Text binding tag. Navigation and selection in a text widget require the detection of words and their boundaries. The word boundary detection facilities pro- vided by Tcl/Tk through the Text binding tag are limited because they define only one class of "word" characters and one class of "non- word" characters. The Ntext binding tag uses more general rules for word boundary detection, that define two classes of "word" characters and one class of "non-word" characters. CONFIGURATION OPTIONS
The behaviour of Ntext may be configured application-wide by setting the values of a number of namespace variables. One of these is rele- vant to word boundary detection: ::ntext::classicWordBreak o 0 - (default value) selects Ntext behaviour, i.e. platform-independent, two classes of word characters and one class of non-word characters. o 1 - selects classic Text behaviour, i.e. platform-dependent, one class of word characters and one class of non-word characters o After changing this value, Ntext 's regexp matching patterns should be recalculated. See FUNCTIONS for details and advanced config- uration options. ADVANCED USE
VARIABLES (ADVANCED USE) ::ntext::tcl_match_wordBreakAfter ::ntext::tcl_match_wordBreakBefore ::ntext::tcl_match_endOfWord ::ntext::tcl_match_startOfNextWord ::ntext::tcl_match_startOfPreviousWord These variables hold the regexp patterns that are used by Ntext to search for word boundaries. If they are changed, subsequent searches are immediately altered. In many situations, it it unnecessary to alter the values of these variables directly: instead call one of the functions ::ntext::initializeMatchPatterns, ::ntext::createMatchPatterns. In the Text binding tag one can change the search rules by changing the values of the global variables tcl_wordchars and tcl_nonwordchars. The equivalent operation in the Ntext binding tag is to call ::ntext::createMatchPatterns with appropriate arguments. FUNCTIONS (ADVANCED USE) If a simple regexp search should prove insufficient, the following functions (analogous to the Tcl/Tk core's tcl_wordBreakAfter etc) may be replaced by the developer: ntext::new_wordBreakAfter ntext::new_wordBreakBefore ntext::new_endOfWord ntext::new_startOfNextWord ntext::new_startOfPreviousWord FUNCTIONS
Each function calculates the five regexp search patterns that define the word boundary searches. These values are stored in the namespace variables listed above. ::ntext::initializeMatchPatterns o This function is called when Ntext is first used, and needs to be called again only if the script changes the value of either ::ntext::classicWordBreak or ::tcl_platform(platform). The function is called with no arguments. It is useful when the desired search patterns are the default patterns for either the Ntext or Text binding tag, and so are implicitly specified by the values of ::ntext::classicWordBreak and ::tcl_platform(platform) alone. ::ntext::createMatchPatterns new_nonwordchars new_word1chars ?new_word2chars? o This function is useful in a wider range of situations than ::ntext::initializeMatchPatterns. It calculates the regexp search pat- terns for any case with one class of "non-word" characters and one or two classes of "word" characters. Each argument should be a regexp expression defining a class of characters. An argument will usually be a bracket expression, but might alternatively be a class-shorthand escape, or a single character. The third argument may be omitted, or supplied as the empty string, in which case it is unused. The first argument is interpreted as the class of non-word characters; the second argument (and the third, if present) are classes of word characters. The classes should include all possible characters and will normally be mutually exclusive: it is often conve- nient to define one class as the negation of the other two. WORD BOUNDARY MATCHING
The problem of word boundary selection is a vexed one, because text is used to represent a universe of different types of information, and there are no simple rules that are useful for all data types or for all purposes. Ntext attempts to improve on the facilities available in classic Text by providing facilities for more complex definitions of words (with three classes of characters instead of two). What is a word? Why two classes of word? When using the modified cursor keys <Control-Left> and <Control-Right> to navigate through a Ntext widget, the cursor is placed at the start of a word. A word is defined as a sequence of one or more characters from only one of the two defined "word" classes; it may be pre- ceded by a character from the other "word" class or from the "non-word" class. The double-click of mouse button 1 selects a word of text, where in this case a "word" may be as defined above, or alternatively may be a sequence of one or more characters from the "non-word" class of characters. Traditionally Tcl has defined only one word class and one non-word class: on Windows, the non-word class is whitespace, and so alphanumer- ics and punctuation belong to the same class. On other platforms, punctuation is bundled with whitespace as "non-word" characters. In either case, the navigation and selection of text are unnecessarily coarse-grained, and sometimes give unhelpful results. The use of three classes of characters might make selection too fine-grained; but in this case, holding down the Shift key and double- clicking another word is an excellent way to select a longer range of text (a useful binding that Tcl/Tk has long provided but which is missing in other systems). As well as its defaults, Ntext permits the developer to define their own classes of characters, or to revert to the classic Text defini- tions, or to specify their own regexp matching patterns. EXAMPLE
To use Ntext with Tcl/Tk's usual word-boundary detection rules: package require ntext text .t bindtags .t {.t Ntext . all} set ::ntext::classicWordBreak 1 ::ntext::initializeMatchPatterns See bindtags for more information. To define a different set of word-boundary detection rules: package require ntext text .t bindtags .t {.t Ntext . all} ::ntext::createMatchPatterns {[[:space:][:cntrl:]]} {[[:punct:]]} {[^[:punct:][:space:][:cntrl:]]} See regexp, re_syntax for more information. SEE ALSO
bindtags, ntext, re_syntax, regexp, text KEYWORDS
bindtags, re_syntax, regexp, text ntext 0.81 ntextWordBreak(n)
All times are GMT -4. The time now is 01:37 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy