Sponsored Content
Top Forums Shell Programming and Scripting Can sed replace every 2 instances it finds in a file? Pattern. Post 302401669 by alister on Sunday 7th of March 2010 09:41:24 AM
Old 03-07-2010
Quote:
Originally Posted by Franklin52
I had something similar to that in mind with a mod operator but with NR:
Code:
awk '/PORT/ && gsub("PORT",i){i+=!(NR%n)}1' i=4000 n=3 file

Regards
NR won't work in this case, though. NR will increment for every line regardless of whether a PORT substituion occured. The "substitution" counter needs to be something independent of NR (j in my version).

On an unrelated note, since gsub returns the number of substitutions made, we can further reduce the code to:
Code:
awk 'gsub(/PORT/,i){i+=!(++j%n)}1' i=1 n=2 file

Like the earlier versions of this approach, it treats multiple substitutions on a single line as one. That's probably a bug. Though if we can be certain that only one instance of PORT will occur on a line, then it's fine, and as a bonus we can reduce by one more character:

Code:
awk 'sub(/PORT/,i){i+=!(++j%n)}1' i=1 n=2 file

And that concludes this episode of OCD AWKing. Thank you for tuning in. Smilie

Cheers,
Alister

Last edited by alister; 03-07-2010 at 10:52 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

SED Search Pattern and Replace with the Pattern

Hello All, I have a string "CP_STATUS OSSRC_R6_0_Shipment_R1H_CU AOM_901046 R1H_LLSV1_2008031", and I just want to extract LLSV1, but I dont get the expected result when using the sed command below. # echo "CP_STATUS OSSRC_R6_0_Shipment_R1H_CU AOM_901046 R1H_LLSV1_2008031" | awk '{print... (4 Replies)
Discussion started by: racbern
4 Replies

2. Shell Programming and Scripting

pattern replace inside text file using sed

Hi, I have a situation where I want to replace some occurrences of ".jsp" into ".html" inside a text file. For Example: If a pattern found like <a href="http://www.mysite.com/mypage.jsp"> it should be retained. But if a pattern found like <a href="../mypage.jsp"> it should be changed to... (4 Replies)
Discussion started by: meharo
4 Replies

3. Shell Programming and Scripting

How to replace the last pattern using sed?

myfile: AAAaaa BBBbbb CCCccc AAAeee DDDddd how to replace the last AAA as EEEEE using sed? like this: AAAaaa BBBbbb CCCccc EEEEEeee DDDddd (14 Replies)
Discussion started by: vistastar
14 Replies

4. UNIX for Dummies Questions & Answers

Using sed command to remove multiple instances of repeating headers in one file?

Hi, I have catenated multiple output files (from a monte carlo run) into one big output file. Each individual file has it's own two line header. So when I catenate, there are multiple two line headers (of the same wording) within the big file. How do I use the sed command to search for the... (1 Reply)
Discussion started by: rebazon
1 Replies

5. Shell Programming and Scripting

Replace a pattern in a file with a generated number using sed or awk

my file has thousands of line but let me show what i want to achieve... here is one line from that file cat fileName.txt (2,'','user3002,user3003','USER_DATA_SINGLE',1,0,0,'BACKUP',2,NULL,0,450,NULL,NULL,'','2011-05-10... (13 Replies)
Discussion started by: vivek d r
13 Replies

6. Shell Programming and Scripting

sed finds nothing but it changes file's timestamp

I must go through some files to change a certain string within text files to another string. I use openSUSE and folders are mounted by cifs. Text to be replaced (only in .m extension) is U:\FOLDER and new string is N: That works fine with spaces in directory names etc., but this process ... (5 Replies)
Discussion started by: Pappa41
5 Replies

7. Shell Programming and Scripting

sed command to replace two character pattern with another pattern

Not able to paste my content. Please see the attachment :-( (2 Replies)
Discussion started by: vivek d r
2 Replies

8. Shell Programming and Scripting

Pattern replace from a text file using sed

I have a sample text format as given below <Text Text_ID="10155645315851111_10155645333076543" From="460350337461111" Created="2011-03-16T17:05:37+0000" use_count="123">This is the first text</Text> <Text Text_ID="10155645315851111_10155645317023456" From="1626711840902323"... (3 Replies)
Discussion started by: my_Perl
3 Replies

9. UNIX for Beginners Questions & Answers

sed replace pattern

I have a file with multiple lines, all in the same format. For each line, I need to replace the sequence of digits after the last : with a new value, but keep the single quote at the end of the line. Example: Input: ( two lines of file) Name: 'text1:200/text2:1.2.3.4' Name2:... (19 Replies)
Discussion started by: Beginner101
19 Replies

10. Shell Programming and Scripting

Replace particular words in file based on if finds another words in that line

Hi All, I need one help to replace particular words in file based on if finds another words in that file . i.e. my self is peter@king. i am staying at north sydney. we all are peter@king. How to replace peter to sham if it finds @king in any line of that file. Please help me... (8 Replies)
Discussion started by: Rajib Podder
8 Replies
MONGO(1)							  Mongo Database							  MONGO(1)

NAME
mongo - the Mongo command-line tool SYNOPSIS
mongo [OPTIONS] [DB_ADDRESS] [FILE+] DESCRIPTION
mongo is a JavaScript shell (with GNU readline capabilities). It supports interactive and non-interactive use. When used interactively, JavaScript can be used to query the database or perform any other function normally available with SpiderMonkey. Database output is dis- played in JSON format. If JavaScript files are specified on the command line, the shell will run non-interactively, running each one in sequence and then exiting. EXAMPLES
mongo start the shell, connecting to the server at localhost:27017 and using the test database mongo foo start the shell using the foo database at localhost:27017 mongo 192.169.0.5/foo start the shell using the foo database at 192.169.0.5:27017 mongo 192.169.0.5:9999/foo start the shell using the foo database at 192.169.0.5:9999 mongo script1.js script2.js script3.js run three scripts and exit OPTIONS
--shell run the shell after executing files --help show usage information --host HOST server to connect to (default HOST=localhost) --port PORT port to connect to (default PORT=27017) --nodb do not connect to mongod --eval SCRIPT evaluate JavaScript -u USERNAME specify user to log in as -pPASSWORD specify password of user (notice there is no space) COPYRIGHT
Copyright 2007-2009 10gen SEE ALSO
For more information, please refer to the MongoDB wiki, available at http://www.mongodb.org. AUTHOR
Kristina Chodorow 10gen June 2009 MONGO(1)
All times are GMT -4. The time now is 12:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy