Bash replace string at multiple places in a file from command line2019 Community Moderator ElectionReplace string with contents of a file using sedReplace whole line in a file from command-lineUsing sed, how can I replace a line containing a pattern with contents from another file?extract certain string, search and replace or keep a longer string contain the extracted valuesed command to replace a string from one file with entire contents of another fileReplace “_” with “|” in a file on 5th field onlytext file search yyyy/mm/dd and replace with yyyy-mm-ddBash replace string with commandremoving digits from the end of lines in text filehow to find & replace a file path listed in a file
Informing my boss about remarks from a nasty colleague
How to generate globally unique ids for different tables of the same database?
Is a lawful good "antagonist" effective?
What is under these four white covers on the upper part of the Orion capsule?
Why would a flight no longer considered airworthy be redirected like this?
How do I hide Chekhov's Gun?
No, nay, never, no more
How to make healing in an exploration game interesting
Employee lack of ownership
How to explain that I do not want to visit a country due to personal safety concern?
Bash replace string at multiple places in a file from command line
Prove that this set in the metric space is open
MSTP and Rapid-PVST+
Is having access to past exams cheating and, if yes, could it be proven just by a good grade?
Word for a person who has no opinion about whether god exists
Pinhole Camera with Instant Film
Ban on all campaign finance?
Sword in the Stone story where the sword was held in place by electromagnets
Can anyone tell me why this program fails?
Why do Australian milk farmers need to protest supermarkets' milk price?
An Accountant Seeks the Help of a Mathematician
What is IP squat space
Why is stat::st_size 0 for devices but at the same time lseek defines the device size correctly?
What options are left, if Britain cannot decide?
Bash replace string at multiple places in a file from command line
2019 Community Moderator ElectionReplace string with contents of a file using sedReplace whole line in a file from command-lineUsing sed, how can I replace a line containing a pattern with contents from another file?extract certain string, search and replace or keep a longer string contain the extracted valuesed command to replace a string from one file with entire contents of another fileReplace “_” with “|” in a file on 5th field onlytext file search yyyy/mm/dd and replace with yyyy-mm-ddBash replace string with commandremoving digits from the end of lines in text filehow to find & replace a file path listed in a file
I have a file with the below content. I want to replace chrome with chromeBackup but not in all places
Name=chrome
XXXXXXXXXXX
Run=bin -app "chrome/chrome.sh"
XXXXXXXXXXX
Vol.apps/chrome=chrome
XXXXXXXXXXX
Required output:
Name=chrome
XXXXXXXXXXX
Run=bin -app "chromeBackup/chromeBackup.sh"
XXXXXXXXXXX
Vol.apps/chromeBackup=chromeBackup
XXXXXXXXXXX
text-processing sed string replace
add a comment |
I have a file with the below content. I want to replace chrome with chromeBackup but not in all places
Name=chrome
XXXXXXXXXXX
Run=bin -app "chrome/chrome.sh"
XXXXXXXXXXX
Vol.apps/chrome=chrome
XXXXXXXXXXX
Required output:
Name=chrome
XXXXXXXXXXX
Run=bin -app "chromeBackup/chromeBackup.sh"
XXXXXXXXXXX
Vol.apps/chromeBackup=chromeBackup
XXXXXXXXXXX
text-processing sed string replace
1
Can you describe the places that should and should not be replaced?
– Jeff Schaller
2 hours ago
Check my "required output"
– Nani
2 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
2 hours ago
2
In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.
– Jeff Schaller
2 hours ago
1
Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start withRun=orVol.apps? Every line except ones that start withName=? Only lines that contain a "p"? Something else?
– Kevin
14 mins ago
add a comment |
I have a file with the below content. I want to replace chrome with chromeBackup but not in all places
Name=chrome
XXXXXXXXXXX
Run=bin -app "chrome/chrome.sh"
XXXXXXXXXXX
Vol.apps/chrome=chrome
XXXXXXXXXXX
Required output:
Name=chrome
XXXXXXXXXXX
Run=bin -app "chromeBackup/chromeBackup.sh"
XXXXXXXXXXX
Vol.apps/chromeBackup=chromeBackup
XXXXXXXXXXX
text-processing sed string replace
I have a file with the below content. I want to replace chrome with chromeBackup but not in all places
Name=chrome
XXXXXXXXXXX
Run=bin -app "chrome/chrome.sh"
XXXXXXXXXXX
Vol.apps/chrome=chrome
XXXXXXXXXXX
Required output:
Name=chrome
XXXXXXXXXXX
Run=bin -app "chromeBackup/chromeBackup.sh"
XXXXXXXXXXX
Vol.apps/chromeBackup=chromeBackup
XXXXXXXXXXX
text-processing sed string replace
text-processing sed string replace
edited 1 hour ago
Nani
asked 2 hours ago
NaniNani
4117
4117
1
Can you describe the places that should and should not be replaced?
– Jeff Schaller
2 hours ago
Check my "required output"
– Nani
2 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
2 hours ago
2
In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.
– Jeff Schaller
2 hours ago
1
Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start withRun=orVol.apps? Every line except ones that start withName=? Only lines that contain a "p"? Something else?
– Kevin
14 mins ago
add a comment |
1
Can you describe the places that should and should not be replaced?
– Jeff Schaller
2 hours ago
Check my "required output"
– Nani
2 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
2 hours ago
2
In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.
– Jeff Schaller
2 hours ago
1
Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start withRun=orVol.apps? Every line except ones that start withName=? Only lines that contain a "p"? Something else?
– Kevin
14 mins ago
1
1
Can you describe the places that should and should not be replaced?
– Jeff Schaller
2 hours ago
Can you describe the places that should and should not be replaced?
– Jeff Schaller
2 hours ago
Check my "required output"
– Nani
2 hours ago
Check my "required output"
– Nani
2 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
2 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
2 hours ago
2
2
In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.
– Jeff Schaller
2 hours ago
In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.
– Jeff Schaller
2 hours ago
1
1
Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with
Run= or Vol.apps? Every line except ones that start with Name=? Only lines that contain a "p"? Something else?– Kevin
14 mins ago
Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with
Run= or Vol.apps? Every line except ones that start with Name=? Only lines that contain a "p"? Something else?– Kevin
14 mins ago
add a comment |
2 Answers
2
active
oldest
votes
According to the information you have provided, you want to replace it at two places, so you can use:
sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name
2
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
1 hour ago
add a comment |
More general perhaps, change all instances except those on the line starting Name=
from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange
or just skip the first line
from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange
or only in the lines starting Run or Vol
from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506329%2fbash-replace-string-at-multiple-places-in-a-file-from-command-line%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
According to the information you have provided, you want to replace it at two places, so you can use:
sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name
2
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
1 hour ago
add a comment |
According to the information you have provided, you want to replace it at two places, so you can use:
sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name
2
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
1 hour ago
add a comment |
According to the information you have provided, you want to replace it at two places, so you can use:
sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name
According to the information you have provided, you want to replace it at two places, so you can use:
sed -e /^Run/s/chrome/chromeBackup/g -e /^Vol/s/chrome/chromeBackup/g file_name
answered 2 hours ago
Prvt_YadvPrvt_Yadv
2,73731027
2,73731027
2
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
1 hour ago
add a comment |
2
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
1 hour ago
2
2
Or possibly
sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.– Kusalananda
1 hour ago
Or possibly
sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.– Kusalananda
1 hour ago
add a comment |
More general perhaps, change all instances except those on the line starting Name=
from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange
or just skip the first line
from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange
or only in the lines starting Run or Vol
from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange
add a comment |
More general perhaps, change all instances except those on the line starting Name=
from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange
or just skip the first line
from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange
or only in the lines starting Run or Vol
from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange
add a comment |
More general perhaps, change all instances except those on the line starting Name=
from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange
or just skip the first line
from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange
or only in the lines starting Run or Vol
from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange
More general perhaps, change all instances except those on the line starting Name=
from="chrome"; to="$fromBackup"; sed "/^Name/! s/$from/$to/g" fileToChange
or just skip the first line
from="chrome"; to="$fromBackup"; sed "2,$ s/$from/$to/g" fileToChange
or only in the lines starting Run or Vol
from="chrome"; to="$fromBackup"; sed -E "/^Run|^Vol/ s/$from/$to/g" fileToChange
edited 1 hour ago
answered 1 hour ago
bu5hmanbu5hman
1,300315
1,300315
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f506329%2fbash-replace-string-at-multiple-places-in-a-file-from-command-line%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Can you describe the places that should and should not be replaced?
– Jeff Schaller
2 hours ago
Check my "required output"
– Nani
2 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
2 hours ago
2
In other words, one possible answer right now would be two tell you to open an editor and make the changes manually.
– Jeff Schaller
2 hours ago
1
Your required output doesn't really clarify your desired behavior. Do you want the change only on lines that start with
Run=orVol.apps? Every line except ones that start withName=? Only lines that contain a "p"? Something else?– Kevin
14 mins ago