Sponsored Content
Top Forums Shell Programming and Scripting awk and gsub - how to replace only the first X occurrences Post 302456510 by bingel on Friday 24th of September 2010 11:35:34 AM
Old 09-24-2010
awk and gsub - how to replace only the first X occurrences

I have a text (text.txt) and I would like to replace only the first 2 occurrences of a word (but I might need to replace more):

For example, if text is this:

Code:
CAR sweet head
hat red yellow
CAR book brown
tiger CAR cow CAR
CAR milk

I would like to replace the word "CAR" with word "REPLACE" only in row 1 and 3 but not in row 4 and 5 and I would like to obtain a result like this:

Code:
REPLACE sweet head
hat red yellow
REPLACE book brown
tiger CAR cow CAR
CAR milk

but if I use:

Code:
cat text.txt | awk '{gsub("CAR","REPLACE");print}'

I will obtain this:

Code:
REPLACE sweet head
hat red yellow
REPLACE book brown
tiger REPLACE cow REPLACE
REPLACE milk

Is there a way to obtain what i need (if possible using awk and gsub)?

Thanks in advance.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help with AWK and gsub

Hello, I have a variable that displays the following results from a JVM.... 1602100K->1578435K I would like to collect the value of 1578435 which is the value after a garbage collection. I've tried the following command but it looks like I can't get the > to work. Any suggestions as... (4 Replies)
Discussion started by: npolite
4 Replies

2. Shell Programming and Scripting

awk gsub

Hi all I want to do a simple substitution in awk but I am getting unexpected output. My function accepts a time and then prints out a validation message if the time is valid. However some times may include a : and i want to strip this out if it exists before i get to the validation. I have shown... (4 Replies)
Discussion started by: pxy2d1
4 Replies

3. Shell Programming and Scripting

sed replace multiple occurrences on the same line, but not all

Hi there! I am really enjoying working with sed. I am trying to come up with a sed command to replace some occurrences (not all) in the same line, for instance: I have a command which the output will be: 200.300.400.5 0A 0B 0C 01 02 03 being that the last 6 strings are actually one... (7 Replies)
Discussion started by: ppucci
7 Replies

4. UNIX for Dummies Questions & Answers

Replace all occurrences of strings with parentheses

Hi, I tried to adapt bartus's solution to my problem, without success. I want to replace all the occurences of this: with: , where something can contain an arbitrary number of balanced parens and brakets. Any ideas ? Best, (1 Reply)
Discussion started by: ff1969ff1969
1 Replies

5. Shell Programming and Scripting

Using of gsub function in AWK to replace space by underscore

I must design a UNIX script to monitor files whose size is over a threshold of 5 MB in a specific UNIX directory I meet a problem during the for loop in my script. Some file names contain spaces. ls -lrt | awk '$5>=5000000 && length($8)==5 {gsub(/ /,"_",$9); print};' -rw-r--r-- 1 was61 ... (2 Replies)
Discussion started by: Scofield38
2 Replies

6. Shell Programming and Scripting

awk + gsub to search multiple input values & replace with located string + extra text

Hi all. I have the following command that is successfully searching for any one of the strings on all lines of a file and replacing it with the instructed value. cat inputFile | awk '{gsub(/aaa|bbb|ccc|ddd/,"1234")}1' > outputFile This does in fact replace any occurrence of aaa, bbb,... (2 Replies)
Discussion started by: dazhoop
2 Replies

7. Shell Programming and Scripting

Search & replace content using awk/gsub

Hi, I have two files master.txt & reference.txt. Sample below Master.txt 2372,MTS,AP 919848001104,Airtel,DL 0819,MTS,MUM 919849788001,Airtel,AP 1430,Aircel MP,20 Reference.txt 2372,919848701430,46467 919848002372,2372,47195 2372,919849788001,59027 0819,028803,1 0819,029801,1... (2 Replies)
Discussion started by: siramitsharma
2 Replies

8. Shell Programming and Scripting

Search & Replace content of files using gsub in awk

Hi,I have 2 files master.txt & reference.txt as shown below & i require o/p as mentioned in file 3 using awk but content is not replacing properlymaster.txt:... (15 Replies)
Discussion started by: siramitsharma
15 Replies

9. Shell Programming and Scripting

Replace characters in string with awk gsub

Hi I have a source file that looks like a,b,c,d,e,f,g,h,t,DISTI(USD),MSRP(USD),DIST(EUR),MSRP(EUR),EMEA-DISTI(USD),EMEA-MSRP(USD),GLOBAl-DISTI(USD),GLOBAL-MSRP(USD),DISTI(GBP), MSRP(GBP) I want to basically change MSRP(USD) to MSRP,USD and DIST(EUR) to DIST,EUR and likewise for all i'm using... (3 Replies)
Discussion started by: r_t_1601
3 Replies

10. Shell Programming and Scripting

awk gsub command to replace multiple spaces

Hi Forum. I'm trying to cleanup the following data elements (To remove any occurences of commas and any extra spaces) while preserving the <TAB> delimiter using awk gsub but I have not been successful. Original Data: 4365 monte des source rue,, ,<TAB>trevost<TAB>QC Desired Data:... (1 Reply)
Discussion started by: pchang
1 Replies
REPLACE(1)						       MySQL Database System							REPLACE(1)

NAME
       replace - a string-replacement utility

SYNOPSIS
       replace arguments

DESCRIPTION
       The replace utility program changes strings in place in files or on the standard input.

	   Note
	   The replace utility is deprecated as of MySQL 5.7.18 and is removed in MySQL 8.0.

       Invoke replace in one of the following ways:

	   shell> replace from to [from to] ... -- file_name [file_name] ...
	   shell> replace from to [from to] ... < file_name

       from represents a string to look for and to represents its replacement. There can be one or more pairs of strings.

       Use the -- option to indicate where the string-replacement list ends and the file names begin. In this case, any file named on the command
       line is modified in place, so you may want to make a copy of the original before converting it.	replace prints a message indicating which
       of the input files it actually modifies.

       If the -- option is not given, replace reads the standard input and writes to the standard output.

       replace uses a finite state machine to match longer strings first. It can be used to swap strings. For example, the following command swaps
       a and b in the given files, file1 and file2:

	   shell> replace a b b a -- file1 file2 ...

       replace supports the following options.

       o   -?, -I

	   Display a help message and exit.

       o   -#debug_options

	   Enable debugging.

       o   -s

	   Silent mode. Print less information what the program does.

       o   -v

	   Verbose mode. Print more information about what the program does.

       o   -V

	   Display version information and exit.

COPYRIGHT
       Copyright (C) 1997, 2018, Oracle and/or its affiliates. All rights reserved.

       This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as
       published by the Free Software Foundation; version 2 of the License.

       This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

       You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation,
       Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.

SEE ALSO
       For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online
       at http://dev.mysql.com/doc/.

AUTHOR
       Oracle Corporation (http://dev.mysql.com/).

MySQL 5.7							    06/07/2018								REPLACE(1)
All times are GMT -4. The time now is 10:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy