06-01-2012
Quote:
Originally Posted by
ampsys
Thanks for your reply, bakunin. Sorry it wasn't more clear, but in the OP, I was trying to convey that $marker was the string itself that I wanted to replace (VENDORLIST), and $markerrepl was the cat(ed) results of the formatted file I gave an example of
Ok, sorry for not getting this earlier. So you search for a certain string and want to replace this string with the content of a file. This is relatively easy to do with the "r <file>" command, which reads a file.
As you said you already have a solution in PERL i won't go into details here, because it is non-trivial to do: You first have to split the line at the word searched for, put the part after it to hold space, delete the word itself, then read the file and append the content of the hold space back after. Finally put this whole procedure into a loop to cover for multiple occurrences of the search term.
bakunin
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have a program in which i have to substitute a TAG in a file with the value of a variable.
Code Snippet:
----------------
myvar=1234
sed 's/_TAG_/$myvar/' infile outfile
When I run this command, the _TAG_ in the "infile" is substituted with "$myvar" but NOT the value "1234"... (1 Reply)
Discussion started by: jyotipg
1 Replies
2. Shell Programming and Scripting
Hello everyone,
I'm writing a script to add a string to an XML file, right after a specified string that only occurs once in the file. For testing purposes I created a file 'testfile' that looks like this:
1
2
3
4
5
6
6
7
8
9
And this is the script as far as I've managed:
... (2 Replies)
Discussion started by: heliode
2 Replies
3. Shell Programming and Scripting
Hello-
I have a variables that contains a string like this usr/pass@SCHEMA
I want to extract the usr/pass part and ignore the SCHEMA part, I tried to use this ${dbconn%%@} and apparently it will not work because @ is a special character. I tried \@ and still no go.
Any idea how to solve... (1 Reply)
Discussion started by: Nomaad
1 Replies
4. Shell Programming and Scripting
Can SED be used to substitute a character (y) with a character (Y) in a specified field?
File has 12000 : delimeted rows as;
HHC 1 BDE:Lastname, Firstname MI:firstname.mi.lastname@mil:SGT
HHC 2 BDE:Lastname, Firstname MI:Firstname.MI.Lastname@mil:SGT
I wish to replace the capital letters... (6 Replies)
Discussion started by: altamaha
6 Replies
5. Shell Programming and Scripting
Hello,
I am trying the following:
echo __CHANGEME__ >> testfile
VAR1="&&&"
sed -i "s|__CHANGEME__|${VAR1}|" testfile
cat testfile
This results in testfile containing
__CHANGEME____CHANGEME____CHANGEME__
Whereas I want it to result in
&&&
I understand that if
VAR1="\&\&\&"
then... (3 Replies)
Discussion started by: linuxnewbeee
3 Replies
6. Shell Programming and Scripting
I just have a couple of quick questions.
I am having trouble with this cut. I am basically trying to cut the string so that i can insert the users guess at the appropriate point in the string.
$letters is the character count of the $word.
What it seems to do is cut the character into the... (0 Replies)
Discussion started by: Makaer
0 Replies
7. Programming
Hello. How can i put all of the special characters on my keyboard into a string in c++ ?
I tried this but it doesn't work.
string characters("~`!@#$%^&*()_-+=|\}]{
How can i accomplish this?
Thanks in advance. (1 Reply)
Discussion started by: cbreiny
1 Replies
8. Shell Programming and Scripting
This has been covered many times earlier but couldnt figure the issue myself. Can you please advise whats wrong on the below code
I have a variable with special character ($) and am using that variable to replace another variable in file but however sed is failing to parse it correctly
... (7 Replies)
Discussion started by: sasiharitha
7 Replies
9. Shell Programming and Scripting
Hi guys,
I'm trying to figure out how to use a shell variable inside my sed command.
I just want to remove a certain part of a path. I've tried three different combinations and none of them work. Here are the three combinations:
echo $file | sed 's/'$test'//'
echo $file | sed "s/$test//"... (7 Replies)
Discussion started by: chu816
7 Replies
10. Shell Programming and Scripting
I am using script for substitute one variable with another variable like below...
below code works fine...
sed 's/'$sub_fun'/'$To_sub'/g'
But when i run the same code from the script getting below errors..
sed: -e expression #1, char 7: unterminated `s' command
please help....... (2 Replies)
Discussion started by: pamu
2 Replies
LEARN ABOUT OSX
git-replace
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)