bash - Reverse order of html with awk via line swapping -
basically every week have reverse following snippet
<!-- homepage slider begin --> <div class="container-fluid"> <div class="single-item-home hidden-xs"> <div class="slide slide--has-caption"> <a href="/1"> <img src="/sliders/1_example.jpg"> </a> </div> <div class="slide slide--has-caption"> <a href="/2"> <img src="/sliders/2_example.jpg"> </a> </div> <div class="slide slide--has-caption"> <a href="/3"> <img src="/sliders/3_example.jpg"> </a> </div> <div class="slide slide--has-caption"> <a href="/4"> <img src="/sliders/4_example.jpg"> </a> </div> </div> </div> <!-- homepage slider end -->
basically i'm wanting make awk
script , have cron job take lines 4-8 swap lines 22-26
, lines 10-14
swap lines 16-20
can seem find way swap 1 line , not line blocks.
is possible awk
or silly?
you may use awk
. below script
awk 'nr==fnr{line[i++]=$0} end{ for(j=0;j<i;j++){ if(j>=3 && j<=7){ print line[j+18]; continue; } else if(j>=21 && j<=25){ print line[j-18]; continue; } else if(j>=9 && j<=13){ print line[j+6]; continue; } else if(j>=15 && j<=19){ print line[j-6]; continue; } print line[j]; } }' file
will want.
sample output
<!-- homepage slider begin --> <div class="container-fluid"> <div class="single-item-home hidden-xs"> <div class="slide slide--has-caption"> <a href="/4"> <img src="/sliders/4_example.jpg"> </a> </div> <div class="slide slide--has-caption"> <a href="/3"> <img src="/sliders/3_example.jpg"> </a> </div> <div class="slide slide--has-caption"> <a href="/2"> <img src="/sliders/2_example.jpg"> </a> </div> <div class="slide slide--has-caption"> <a href="/1"> <img src="/sliders/1_example.jpg"> </a> </div> </div> </div> <!-- homepage slider end -->
note: leave array-bounds check you. if content of file static, may not need this
Comments
Post a Comment