GO修改配置文件版本号

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lightjia/article/details/83147553
Name:       ipcsimulator
Version:    0.1.6
Release:    1

Summary:    ipcsimulator
Group:      Application/System
License:    GPL

# URL:     
# Source0: 
# BuildRoot:    %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRoot:      %{buildroot}
# BuildArch:      x86_64
AutoReqProv: 	no
# Prefix:		/home

# BuildRequires:   
Requires: libuuid

%description
ipcsimulator

%prep


%build

%install
mkdir -p $RPM_BUILD_ROOT/home/hdvon/
mkdir -p $RPM_BUILD_ROOT/home/hdvon/ipcsimulator/
mkdir -p $RPM_BUILD_ROOT/lib/systemd/system/

cp -rfv $TOPDIR/$DISC_OUTDIR/ipcsimulator $RPM_BUILD_ROOT/home/hdvon/
cp -rfv $TOPDIR/$DISC_OUTDIR/ipcsimulator/ipcsimulator.service $RPM_BUILD_ROOT/lib/systemd/system/ipcsimulator.service

%preun
systemctl stop ipcsimulator
systemctl disable ipcsimulator

%postun
rm -rfv /home/hdvon/ipcsimulator
rm -rfv /lib/systemd/system/ipcsimulator.service

%post
systemctl daemon-reload 
systemctl enable ipcsimulator
%clean

%files
%defattr(-,root,root,-)
/home/hdvon/ipcsimulator
/lib/systemd/system/ipcsimulator.service

%doc

%changelog


package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
	"strings"
)

func main() {
	var(
		fileName = "ipcsimulator.spec"
		verpre = "Version:"
	)

	f,err:=os.Open(fileName)
	if err != nil{
		fmt.Println("Open error", err.Error())
	} else{
		var buf []string
		reader := bufio.NewReader(f)
		line,_,err := reader.ReadLine()
		for err == nil{
			tmp := string(line)
			if strings.Contains(tmp, verpre){
				filed2 := strings.Split(tmp, ":")
				if len(filed2) == 2{
					filed3 := strings.Split(strings.Trim(filed2[1], " "), ".")
					if len(filed3) == 3{
						ver,_ := strconv.Atoi(filed3[0] + filed3[1] + filed3[2])
						ver += 1
						verstr := strconv.Itoa(ver)
						if len(verstr) < 3{
							verstr = "0" + verstr
						}

						verstr = verstr[0:1] + "." + verstr[1:2] + "." + verstr[2:3]

						tmp = filed2[0] + ":    " + verstr
 					}
				}

				fmt.Println(tmp)
			}

			buf = append(buf, tmp)
			line,_,err = reader.ReadLine()
		}

		f.Close()
		f,err =os.OpenFile(fileName, os.O_WRONLY, 0666)
		if err != nil{
			fmt.Println("Open error", err.Error())
		} else {
			defer f.Close()
			for _,line := range buf{
				f.WriteString(line + "\n")
				fmt.Println(line)
			}

			f.Sync()
			fmt.Println("Finish")
		}
	}
}

猜你喜欢

转载自blog.csdn.net/lightjia/article/details/83147553