Cool! Much better. that uses the line number notation to insert before. good shortcut!!<br><br>so how about dropping all regex and working the file in line order?<br><br>file=$1<br>last=$(tail -n 1 $file)<br>sed -i -e &quot;1 i\\<br>
$last<br>&quot; -e &quot;$ /d&quot; $file<br><br><div class="gmail_quote">On Wed, Mar 28, 2012 at 1:06 PM, Richard Bronosky <span dir="ltr">&lt;<a href="mailto:Richard@bronosky.com">Richard@bronosky.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ooooo! I like this, Jim. But, there is no need for regexing every line<br>
of the doc twice.<br>
file=$1<br>
last=$(tail -n 1 $file)<br>
# if you do this in a chmoded file you have to double the backslash as<br>
I have in the next line<br>
sed -e &#39;$d&#39; -e &quot;1 i\\<br>
$last<br>
&quot; $file<br>
<br>
Here it is in downloadable form: <a href="https://gist.github.com/2228256" target="_blank">https://gist.github.com/2228256</a><br>
<div><div class="h5"><br>
On Wed, Mar 28, 2012 at 11:54 AM, Jim Kinney &lt;<a href="mailto:jim.kinney@gmail.com">jim.kinney@gmail.com</a>&gt; wrote:<br>
&gt; last=$(tail -n 1 file)<br>
&gt; first=$(head -n 1 file)<br>
&gt; sed -i -e &quot;/$last/d&quot; -e &quot;/$first/ i\<br>
&gt; $last<br>
&gt; &quot; file<br>
&gt;<br>
&gt; On Wed, Mar 28, 2012 at 11:27 AM, <a href="mailto:mike@trausch.us">mike@trausch.us</a> &lt;<a href="mailto:mike@trausch.us">mike@trausch.us</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; On 03/28/2012 11:10 AM, Lightner, Jeff wrote:<br>
&gt;&gt; &gt; What is the best way to move that last line of a text file to be the<br>
&gt;&gt; &gt; first line?<br>
&gt;&gt;<br>
&gt;&gt; &quot;Best&quot; is subjective...<br>
&gt;&gt;<br>
&gt;&gt; &gt; Please answer the question as asked and don’t suggest making the file be<br>
&gt;&gt; &gt; in the correct order when we receive it or changing the automated<br>
&gt;&gt; &gt; processing to read the last line first.  Assume those aren’t options.<br>
&gt;&gt;<br>
&gt;&gt; k...<br>
&gt;&gt;<br>
&gt;&gt; &gt; What I came up with was to do tail -1 &gt;newfile and head -&lt;number of<br>
&gt;&gt; &gt; lines – 1&gt; but was thinking there ought to be a better way.<br>
&gt;&gt;<br>
&gt;&gt; I would do something similar:<br>
&gt;&gt;<br>
&gt;&gt; #!/bin/bash<br>
&gt;&gt; # Put the last line of the file specified into the<br>
&gt;&gt; # first line of the file specified.<br>
&gt;&gt;<br>
&gt;&gt; TMP_FILE=&quot;$1&quot;.$$<br>
&gt;&gt; tac &quot;$1&quot;|head -n 1 &gt; &quot;${TMP_FILE}&quot;<br>
&gt;&gt; tac &quot;$1&quot;|tail -n +2|tac &gt;&gt; &quot;${TMP_FILE}&quot;<br>
&gt;&gt; mv &quot;${TMP_FILE}&quot; &quot;$1&quot;<br>
&gt;&gt;<br>
&gt;&gt;        --- Mike<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; A man who reasons deliberately, manages it better after studying Logic<br>
&gt;&gt; than he could before, if he is sincere about it and has common sense.<br>
&gt;&gt;                                   --- Carveth Read, “Logic”<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Ale mailing list<br>
&gt;&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt;&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; --<br>
&gt; James P. Kinney III<br>
&gt;<br>
&gt; As long as the general population is passive, apathetic, diverted to<br>
&gt; consumerism or hatred of the vulnerable, then the powerful can do as they<br>
&gt; please, and those who survive will be left to contemplate the outcome.<br>
&gt; - 2011 Noam Chomsky<br>
&gt;<br>
&gt; <a href="http://heretothereideas.blogspot.com/" target="_blank">http://heretothereideas.blogspot.com/</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Ale mailing list<br>
&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;<br>
<br>
<br>
<br>
--<br>
</div></div>.!# RichardBronosky #!.<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<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" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>-- <br>James P. Kinney III<br><br>As long as the general population is passive, apathetic, diverted to 
consumerism or hatred of the vulnerable, then the powerful can do as 
they please, and those who survive will be left to contemplate the 
outcome.<br>- <i><i><i><i>2011 Noam Chomsky<br><br><a href="http://heretothereideas.blogspot.com/" target="_blank">http://heretothereideas.blogspot.com/</a><br></i></i></i></i><br>