Sponsored Content
Top Forums Shell Programming and Scripting SED to replace exact match, not first occurrence. Post 302486715 by andylbh on Monday 10th of January 2011 06:22:45 AM
Old 01-10-2011
SED to replace exact match, not first occurrence.

Lets say I have file.txt:
(Product:Price:QuantityAvailable) (: as delimiter)
Chocolate:5:5
Banana:33:3

I am doing a edit/update function.
I want to change the Quantity Available, so I tried using the SED command to replace 5, but my Price which is also 5 is changed instead.
(for the Banana case, if I were to replace 3 with 5, my price will be 53 because it replaced the 3 which comes first)
Is there a way to only replace data within the Delimiter?
Or rather, how should I go about solving this?

Thanks in advance!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed to match only exact string only in all occurences

Dear Friends, Anybody knows how to match exact lines only in multilinear. Input file: apple orange orange apple apple orange Desired output: fruit orange apple fruit i used the command (1 Reply)
Discussion started by: vasanth.vadalur
1 Replies

2. Shell Programming and Scripting

sed print from last occurrence match until the end of file

Hi, i have file f1.txt with data like: CHECK a b CHECK c d CHECK e f JOB_START .... I want to match the last occurrence of 'CHECK' until the end of the file. I can use awk: awk '/^CHECK/ { buf = "" } { buf = buf "\n" $0 } END { print buf }' f1.txt | tail +2Is there a cleaner way of... (2 Replies)
Discussion started by: ysrini
2 Replies

3. Shell Programming and Scripting

QUESTION1: grep only exact string. QUESTION2: find and replace only exact value with sed

QUESTION1: How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed. Contents of car.txt CAR1_KEY0 CAR1_KEY1 CAR2_KEY0 CAR2_KEY1 CAR1_KEY10 CURRENT COMMAND LINE: WHERE VARIABLE CAR_NUMBER=1 AND KEY_NUMBER=1 grep... (1 Reply)
Discussion started by: thibodc
1 Replies

4. UNIX for Dummies Questions & Answers

grep and sed exact match questions

This was mistaken as homework in a different forum, but is not. These are questions that are close to what I am trying to do at work. QUESTION1: How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed. Contents of car.txt CAR1_KEY0 CAR1_KEY1... (1 Reply)
Discussion started by: thibodc
1 Replies

5. Shell Programming and Scripting

grep and sed exact match questions

This post was previously mistaken for homework, but is actually a small piece of what I working on at work. Please answer if you can. QUESTION1 How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed. Contents of car.txt CAR1_KEY0 CAR1_KEY1... (2 Replies)
Discussion started by: thibodc
2 Replies

6. UNIX for Dummies Questions & Answers

[Solved] Replace first occurrence after match

hey guys, i have been trying to work this thing out with sed with no luck :confused: i m looking for a way to replace only the first occurrence after a match for example : Cat Realized what you gotta do Dog Realized what you gotta do Sheep Realized what you gotta do Wolf Realized... (6 Replies)
Discussion started by: boaz733
6 Replies

7. Shell Programming and Scripting

Exact match using sed

I would like replace all the rows in a file if a row has an exact match to number say 21 in a tab delimited file. I want to delete the row only if it has 21 any of the rows but it should not delecte the row that has 542178 or 563421. I tried this sed '/\<21\>/d' ./inputfile > output.txt ... (7 Replies)
Discussion started by: Kanja
7 Replies

8. UNIX for Dummies Questions & Answers

sed Exact Match when Dot is present

I am trying to replace exact word from my text. I know using the angled brackets does the trick. But it is not working when there is a dot in the text. echo "Bottle BottleWater Bottle Can" | sed 's/\<Bottle\>//g' BottleWater CanBut if my data has a dot or hash in it, it replaces all the... (10 Replies)
Discussion started by: grep_me
10 Replies

9. UNIX for Dummies Questions & Answers

Code for exact match to count occurrence

Hi all, I have an input file as below. I would like to count the occurrence of pattern matching 8th field for each line. Input: field_01 field_02 field_03 field_04 field_05 field_06 field_07 field_08 TA T TA T TA TA TA... (3 Replies)
Discussion started by: huiyee1
3 Replies

10. Shell Programming and Scripting

sed print from last occurrence match until the end of last occurrence match

Hi, i have file file.txt with data like: START 03:11:30 a 03:11:40 b END START 03:13:30 eee 03:13:35 fff END jjjjjjjjjjjjjjjjjjjjj START 03:14:30 eee 03:15:30 fff END ggggggggggg iiiiiiiiiiiiiiiiiiiiiiiii I want the below output START (13 Replies)
Discussion started by: Jyotshna
13 Replies
GIT-REPLACE(1)							    Git Manual							    GIT-REPLACE(1)

NAME
       git-replace - Create, list, delete refs to replace objects

SYNOPSIS
       git replace [-f] <object> <replacement>
       git replace [-f] --edit <object>
       git replace [-f] --graft <commit> [<parent>...]
       git replace -d <object>...
       git replace [--format=<format>] [-l [<pattern>]]

DESCRIPTION
       Adds a replace reference in refs/replace/ namespace.

       The name of the replace reference is the SHA-1 of the object that is replaced. The content of the replace reference is the SHA-1 of the
       replacement object.

       The replaced object and the replacement object must be of the same type. This restriction can be bypassed using -f.

       Unless -f is given, the replace reference must not yet exist.

       There is no other restriction on the replaced and replacement objects. Merge commits can be replaced by non-merge commits and vice versa.

       Replacement references will be used by default by all Git commands except those doing reachability traversal (prune, pack transfer and
       fsck).

       It is possible to disable use of replacement references for any command using the --no-replace-objects option just after git.

       For example if commit foo has been replaced by commit bar:

	   $ git --no-replace-objects cat-file commit foo

       shows information about commit foo, while:

	   $ git cat-file commit foo

       shows information about commit bar.

       The GIT_NO_REPLACE_OBJECTS environment variable can be set to achieve the same effect as the --no-replace-objects option.

OPTIONS
       -f, --force
	   If an existing replace ref for the same object exists, it will be overwritten (instead of failing).

       -d, --delete
	   Delete existing replace refs for the given objects.

       --edit <object>
	   Edit an object's content interactively. The existing content for <object> is pretty-printed into a temporary file, an editor is
	   launched on the file, and the result is parsed to create a new object of the same type as <object>. A replacement ref is then created
	   to replace <object> with the newly created object. See git-var(1) for details about how the editor will be chosen.

       --raw
	   When editing, provide the raw object contents rather than pretty-printed ones. Currently this only affects trees, which will be shown
	   in their binary form. This is harder to work with, but can help when repairing a tree that is so corrupted it cannot be pretty-printed.
	   Note that you may need to configure your editor to cleanly read and write binary data.

       --graft <commit> [<parent>...]
	   Create a graft commit. A new commit is created with the same content as <commit> except that its parents will be [<parent>...] instead
	   of <commit>'s parents. A replacement ref is then created to replace <commit> with the newly created commit. See
	   contrib/convert-grafts-to-replace-refs.sh for an example script based on this option that can convert grafts to replace refs.

       -l <pattern>, --list <pattern>
	   List replace refs for objects that match the given pattern (or all if no pattern is given). Typing "git replace" without arguments,
	   also lists all replace refs.

       --format=<format>
	   When listing, use the specified <format>, which can be one of short, medium and long. When omitted, the format defaults to short.

FORMATS
       The following format are available:

       o   short: <replaced sha1>

       o   medium: <replaced sha1> -> <replacement sha1>

       o   long: <replaced sha1> (<replaced type>) -> <replacement sha1> (<replacement type>)

CREATING REPLACEMENT OBJECTS
       git-filter-branch(1), git-hash-object(1) and git-rebase(1), among other git commands, can be used to create replacement objects from
       existing objects. The --edit option can also be used with git replace to create a replacement object by editing an existing object.

       If you want to replace many blobs, trees or commits that are part of a string of commits, you may just want to create a replacement string
       of commits and then only replace the commit at the tip of the target string of commits with the commit at the tip of the replacement string
       of commits.

BUGS
       Comparing blobs or trees that have been replaced with those that replace them will not work properly. And using git reset --hard to go back
       to a replaced commit will move the branch to the replacement commit instead of the replaced commit.

       There may be other problems when using git rev-list related to pending objects.

SEE ALSO
       git-hash-object(1) git-filter-branch(1) git-rebase(1) git-tag(1) git-branch(1) git-commit(1) git-var(1) git(1)

GIT
       Part of the git(1) suite

Git 2.17.1							    10/05/2018							    GIT-REPLACE(1)
All times are GMT -4. The time now is 01:17 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy