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
I need to drive a 7/16" nut but am unsure how to use the socket I bought for my screwdriver
Sword in the Stone story where the sword was held in place by electromagnets
How to generate globally unique ids for different tables of the same database?
Cultural lunch issues
Welcoming 2019 Pi day: How to draw the letter π?
Russian cases: A few examples, I'm really confused
What is Thermal Runaway Protection?
What is IP squat space
Bash replace string at multiple places in a file from command line
Bastion server: use TCP forwarding VS placing private key on server
Is Mortgage interest accrued after a December payment tax deductible?
Rules about breaking the rules. How do I do it well?
Why is a Java array index expression evaluated before checking if the array reference expression is null?
Replacing Windows 7 security updates with anti-virus?
Why must traveling waves have the same amplitude to form a standing wave?
Good allowance savings plan?
Does the statement `int val = (++i > ++j) ? ++i : ++j;` invoke undefined behavior?
Employee lack of ownership
Brexit - No Deal Rejection
How to answer questions about my characters?
Co-worker team leader wants to inject his friend's awful software into our development. What should I say to our common boss?
How could a female member of a species produce eggs unto death?
Can unconscious characters be unwilling?
What is the greatest age difference between a married couple in Tanach?
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
3 hours ago
Check my "required output"
– Nani
3 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
3 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
3 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
1 hour 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 3 hours ago
Nani
asked 3 hours ago
NaniNani
4117
4117
1
Can you describe the places that should and should not be replaced?
– Jeff Schaller
3 hours ago
Check my "required output"
– Nani
3 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
3 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
3 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
1 hour ago
add a comment |
1
Can you describe the places that should and should not be replaced?
– Jeff Schaller
3 hours ago
Check my "required output"
– Nani
3 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
3 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
3 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
1 hour ago
1
1
Can you describe the places that should and should not be replaced?
– Jeff Schaller
3 hours ago
Can you describe the places that should and should not be replaced?
– Jeff Schaller
3 hours ago
Check my "required output"
– Nani
3 hours ago
Check my "required output"
– Nani
3 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
3 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
3 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
3 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
3 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
1 hour 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
1 hour 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
3
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
2 hours 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
3
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
2 hours 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
3
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
2 hours 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 3 hours ago
Prvt_YadvPrvt_Yadv
2,73731027
2,73731027
3
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
2 hours ago
add a comment |
3
Or possiblysed -E '/^(Run|Vol)/s/chrome/&Backup/g'.
– Kusalananda
2 hours ago
3
3
Or possibly
sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.– Kusalananda
2 hours ago
Or possibly
sed -E '/^(Run|Vol)/s/chrome/&Backup/g'.– Kusalananda
2 hours 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 2 hours ago
answered 2 hours 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
3 hours ago
Check my "required output"
– Nani
3 hours ago
A good answer would operate on any input; otherwise, someone could just statically print your desired output.
– Jeff Schaller
3 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
3 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
1 hour ago