我有一个文件,内容类似如下。
// calcmarks, version 1, released Fri May 8
我正在尝试编写一个新的 shell 脚本,用于增加原始文件的版本号和日期。我一直尝试使用 awk 和 sed,但没有成功。
// calcmarks, version 2, released Fri May 8
谢谢
答案1
这可能不是最强大的方法,但你可以做这样的事情:
awk -F, -v date="$(date)" '
$1 == "// calcmarks" {
vers = substr($2,10);
printf "// calcmarks, version %d, released %s\n", vers+1, date;
next
}
1
' file
使用 GNU awk ( gawk
),您可以通过添加命令行选项来就地修改文件-i inplace
。否则,您将需要重定向到临时文件,然后重命名。