使用shell脚本将h文件里面的某个宏定义对应的常量保存到指定文件

由于对shell脚本没有去深究,只是临时遇到了这个需求,才全网的查找。解决这个需求的方法应该有好多,但目前,我实际使用验证了如下方法可行,后续抽空学习下shell脚本。言归正传,需求如下:

1、需求:

我有个头文件,内容大概如下:
/*******def.h******/
...
#define A_B_CC "20201111am"
...

#define A_B_CC 的值会变化,当前是20201111am,下次可能变成20211111pp

如何使用shell脚本来获取A_B_CC对应的常量值(这里目前是20201111am) 并将其保存到一个txt文件

2、解决方法:

     方法1:

cat def.h | grep "#define A_B_CC" | cut -d '"' -f 2 >Version.txt

     这条语句分三小句,我想,第1/2两句应该大家都懂,解释下第3句:cut -d ‘"’ -f 2 ,

     -d和'"'一起把管道输入的一行字符串进行了域的分隔,每一个分隔符(在这里是个双引号“"”)前面的字符串被称为一个域,若有n个分隔符,这个域的编号则从1开始到n+1,第1个分隔符前面的字符串为第1个域。这个域对应在该命令行则是-f后面的数字2,所以该命令`cut -d '"' -f 2表达的意思是输出第二个分隔符“"”之前的域。

    方法2:据说可以使用sed,awk等,我不会,欢迎补充。

      

猜你喜欢

转载自blog.csdn.net/Zhishuifuyue/article/details/109109472