美文网首页
shell替换文件方法大全以及研究c#编译写入时间[aot非as

shell替换文件方法大全以及研究c#编译写入时间[aot非as

作者: 吉凶以情迁 | 来源:发表于2023-01-09 09:03 被阅读0次

替换引号中的内容

$ awk '{ gsub(/"[^"]*"/, "\"NEW TEXT HERE\""); print }' baseframework/BuildInfo.cs
#!/usr/bin/awk -f

# 获取当前时间
"date +%Y%m%d%H%M%S" | getline now

# 读入文件
{
    # 替换引号中间的内容为当前时间
    gsub(/"([^"]+)"/, "\""now"\"", $0)

    # 输出结果
    print $0
}
awk -f script.awk inputfile > outputfile

另外的写法

public class BuildTimeInfo
{
    public const String BUILD_TIME = "xxx";//time replace
}

sed 's/\".*\"/REPLACEMENT/' baseframework/BuildInfo.cs
替换为

public class BuildTimeInfo
{
    public const String BUILD_TIME = REPLACEMENT;//time replace
}

关于写入时间的问题踩坑

对于时间字符串,似乎不能用这套写法,因为我发现替换之后那些字符串乱摆放位置.

最后我定义一个txt

public class BuildTimeInfo
{

AA

}

然后脚本文件为

strTime="public const String BUILD_TIME=\"$(date +"%Y%m%d%H%M%S")\"\;"
sed "s/AA/${strTime}/g" buildTime.txt

格式化

strTime="public const String BUILD_TIME=\"$(date +"%Y-%m-%d %H:%M:%S")\"\;"
sed "s/AA/${strTime}/g" buildTime.txt

另外一个脚本 或者linux执行如下命令
./write_build_time.sh>baseframework/BuildInfo.cs
这将覆盖源码

image.png

一个是命令编译一种是vs直接运行,如果直接运行,则配置如下命令


image.png
call bash write_build_time.sh>baseframework/BuildInfo.cs

相关文章

网友评论

      本文标题:shell替换文件方法大全以及研究c#编译写入时间[aot非as

      本文链接:https://www.haomeiwen.com/subject/mtmucdtx.html