[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Need some sed/awk/bash advice



On 8 May 2003, Patrick wrote:

> Hello,
> 
> Can anyone with some decent sed/awk/bash skills please tell me how I do
> some magic in a specfile:
> 
> 1) replace "%define cvsdate <date in past>" with "%define cvsdate
> <today's date>"
> 
> 2) add the following lines after a line "%changelog"
> "* Thu May 8 2003 me <me pc com>
>  - autorebuild"


Ok, here goes:



[meetsma waters test]$ cat specfile 

%define cvsdate <date in past>




%changelog
* Thu May  7 2003
- manual rebuild
[meetsma waters test]$ gawk -v date="`date +'%a %b %e %Y'`" '{ if ($1=="%changelog") {print $1"\n* " date " me <me pc com>\n- autorebuild"; next} print }' specfile |sed "s/^%define cvsdate .*$/%define cvsdate `date -I`/" >specfile.new
[meetsma waters test]$ cat specfile.new 

%define cvsdate 2003-05-08




%changelog
* Thu May  8 2003 me <me pc com>
- autorebuild
* Thu May  7 2003
- manual rebuild
[meetsma waters test]$ diff specfile specfile.new 
2c2
< %define cvsdate <date in past>
---
> %define cvsdate 2003-05-08
7a8,9
> * Thu May  8 2003 me <me pc com>
> - autorebuild



--  
 Arend 






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]