首页 > 其他分享 >使用脚本获取C语言函数声明

使用脚本获取C语言函数声明

时间:2023-03-10 22:32:31浏览次数:27  
标签:脚本 grep 函数 sourcesfile C语言 命令 Linux main echo


#!/bin/bash

#命令行参数检测
if [ -n "$1" ];then
echo "Source file: $1"
else
echo "Usage:$0 <source_file>"
exit -1
fi

sourcesfile=$1
if [[ -f $sourcesfile ]];then
grep "\w\+[ ]\+\w\+([^()]*)[ ]*{\?$" $sourcesfile |grep -v "main" |sed -e 's/{\?$/;/' > "${sourcesfile%.*}.h"
fi

命令1:grep "\w\+[ ]\+\w\+([^()]*)[ ]*{\?$" $sourcesfile

说明:\w       :匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。

命令2:grep -v "main"

说明:输出除main之外的所有行

命令3:sed -e 's/{\?$/;/'

说明:-e<script>或--expression=<script>:以选项中的指定的script来处理输入的文本文件;

1.Shell命令学习

2.Linux 命令查询

​​3.linux通配符和正则表达式​​

Linux运维该知道的Linux Shell通配符、元字符、转义符使用攻略!

 

标签:脚本,grep,函数,sourcesfile,C语言,命令,Linux,main,echo
From: https://blog.51cto.com/u_13472468/6113669

相关文章

  • C语言:宏定义的妙用
    一、定义别名标识符在代码中为了提高可读性,把一些数字进行宏标识化,同时也方便后续修改(一处修改,到处生效),#define YEAR_COUNT_SEC  (365*24*60*60)UL二、连接符“\”sta......
  • ANSI转UTF-8编码的bat批处理脚本
    替换掉bat脚本里的a.txt即可ANSI转UTF.bat脚本内容:::注释::code1=ANSI(GB2312)::code2=Big5::code3=Shift_JIS::code4=EUC-KR::code5=UTF-8::code6=Unicode@echo......
  • C语言整型提升
    当定义一个char类型的数据a,给其赋值10,即chara=10;对于char类型的数据,在使用printf函数输出的时候,应该用%c,但我们想要用%d来输出类型为char的数据时,就会发生整型提升,将a由......
  • C语言之数据的存储(一)(整型数据)
    一、整型数据在内存中的存储1.1整型数据家族char,short,intlong(每种类型又分为unsigned和signed,例如,signedchar,unsignedchar)1.2整型数据的存储对于整型数据,其在计......
  • 初识C语言3/10
    循环语句:while循环:#include<stdio.h>intmain(){inti=1;while(i<=10){if(i==5)break;printf("%d\n",i);//1,2,3,4,5......
  • 03 函数基本使用
    """@作者:egon老湿@微信:18611453110@专栏:https://zhuanlan.zhihu.com/c_11898833141971681281、什么是函数函数就相当于具备某一功能的工具函数的使用必须遵......
  • 01 函数参数的使用
    """@作者:egon老湿@微信:18611453110@专栏:https://zhuanlan.zhihu.com/c_1189883314197168128"""#一形参与实参介绍#形参:在定义函数阶段定义的参数称之为形式参数,简......
  • jq回调函数、jq一个函数执行完毕后再执行另一个函数
    jq回调函数、jq一个函数执行完毕后再执行另一个函数-small-match-博客园(cnblogs.com)   jq回调函数第一版复制代码<!DOCTYPEhtml><html><head>......
  • Shell脚本中常见的特殊命令用法记录
    Shell脚本中常见特殊命令用法记录1、信号捕获:traptrap"commands"signals#接收到signals指定的信号时,执行commands命令。trapsignals#如果没有指定命令就是恢复s......
  • ORACLE自定义实现FIND_IN_SET函数
    FIND_IN_SET是mysql中的函数,见:MySQL中FIND_IN_SET函数oracle中没有FIND_IN_SET函数,oracle自定义实现FIND_IN_SET函数sql如下:--FIND_IN_SET函数CREATEORREPLACEFUN......