<div dir="auto">sed -i -e &#39;edit #1&#39; -e &#39;edit #2&#39; ... -e &#39;edit #n’ <div dir="auto"><br></div><div dir="auto">The edits happen in sequence per line.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mar 19, 2017 12:46 AM, &quot;Raj Wurttemberg&quot; &lt;<a href="mailto:rajaw@c64.us">rajaw@c64.us</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey Phil,<br>
<br>
Can&#39;t say that I even knew that sed could do multiple replacements in one<br>
line. :)  (I&#39;ve only been scripting with bash for about two years... I&#39;m a<br>
noob) I just Googled it and came up with this...<br>
<br>
Is this kind of what you are talking about? (I&#39;ve never used mktemp either)<br>
<br>
TMPIPCFG=$(mktemp /etc/sysconfig/network-<wbr>scripts/tmpipcfg.XXXX)<br>
sed -i &#39;s/IPADDR=.*/IPADDR=<a href="http://1.2.3.4/" rel="noreferrer" target="_blank">1.2.3.4/</a>; s/BROADCAST=.*/BROADCAST=<a href="http://1.2.3.0/" rel="noreferrer" target="_blank">1.2.<wbr>3.0/</a>;<br>
s/GATEWAY=.*/GATEWAY=<a href="http://1.2.3.1/" rel="noreferrer" target="_blank">1.2.3.1/</a>&#39; $TMPIPCFG<br>
mv $TMPIPCFG /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0<br>
<br>
Learned something new tonight...<br>
<br>
Thanks!<br>
/Raj<br>
<br>
-----Original Message-----<br>
From: <a href="mailto:ale-bounces@ale.org">ale-bounces@ale.org</a> [mailto:<a href="mailto:ale-bounces@ale.org">ale-bounces@ale.org</a>] On Behalf Of Phil<br>
Turmel<br>
Sent: Saturday, March 18, 2017 9:56 PM<br>
To: <a href="mailto:ale@ale.org">ale@ale.org</a><br>
Subject: Re: [ale] Update ifcfg-eth0 file from command line? (need to re-ip<br>
50 servers)<br>
<br>
Aaaaahhhhhhgggg!<br>
<br>
Raj, Leam, y&#39;all making me cringe with those procedures.  For pity&#39;s sake,<br>
use mktemp to safely make an empty temp file in the *same* folder, stream<br>
from the original to the temp file with *one* instance of sed, then &#39;mv&#39; the<br>
temp file back over the original.  At no point will you have a partially<br>
configured network -- filesystems are required to guarantee that renaming<br>
over file atomically replaces it.  And at no point will you have an unsecure<br>
temp file exposed.<br>
<br>
Phil<br>
<br>
On 03/18/2017 09:03 PM, Raj Wurttemberg wrote:<br>
&gt; Yeah, I was actually going to do a sed to just replace the old values and<br>
do most everything in one step:<br>
&gt;<br>
&gt; sed -i &#39;s/IPADDR=.*/IPADDR=<a href="http://1.2.3.4/" rel="noreferrer" target="_blank">1.2.3.4/</a>&#39;<br>
&gt; /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0 2&gt; /dev/null sed -i<br>
&gt; &#39;s/BROADCAST=.*/BROADCAST=<a href="http://1.2.3.0/" rel="noreferrer" target="_blank">1.2.<wbr>3.0/</a>&#39;<br>
&gt; /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0 2&gt; /dev/null sed -i<br>
&gt; &#39;s/GATEWAY=.*/GATEWAY=<a href="http://1.2.3.1/" rel="noreferrer" target="_blank">1.2.3.1/</a><wbr>&#39;<br>
&gt; /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0 2&gt; /dev/null<br>
&gt;<br>
&gt; haha... yes, I noticed a long time ago that the RHEL tries to use any file<br>
in the /etc/sysconfig/network-scripts directory! Doh!<br>
&gt;<br>
&gt; Thanks,<br>
&gt; /Raj<br>
&gt;<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: <a href="mailto:ale-bounces@ale.org">ale-bounces@ale.org</a> [mailto:<a href="mailto:ale-bounces@ale.org">ale-bounces@ale.org</a>] On Behalf Of<br>
&gt; Leam Hall<br>
&gt; Sent: Saturday, March 18, 2017 8:32 PM<br>
&gt; To: Atlanta Linux Enthusiasts &lt;<a href="mailto:ale@ale.org">ale@ale.org</a>&gt;<br>
&gt; Subject: Re: [ale] Update ifcfg-eth0 file from command line? (need to<br>
&gt; re-ip 50 servers)<br>
&gt;<br>
&gt; Untested, and I tend to do things in multiple steps.<br>
&gt;<br>
&gt; cp /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0 /tmp<br>
&gt;<br>
&gt; cat /tmp/ifcfg-eth0 | egrep -iv &quot;ipaddr|broadcast|gateway&quot; &gt;<br>
&gt; /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0<br>
&gt;<br>
&gt; echo &quot;IPADDR=1.2.3.4&quot; &gt;&gt; /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0<br>
&gt; echo &quot;BROADCAST=1.2.3.0&quot; &gt;&gt; /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0<br>
&gt; echo &quot;GATEWAY=1.2.3.1&quot; &gt;&gt; /etc/sysconfig/network-<wbr>scripts/ifcfg-eth0<br>
&gt;<br>
&gt; service network restart<br>
<br>
______________________________<wbr>_________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo</a><br>
<br>
______________________________<wbr>_________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" rel="noreferrer" target="_blank">http://mail.ale.org/mailman/<wbr>listinfo</a><br>
</blockquote></div></div>