提取.c文件中的函数名
shell脚本提取.c生成函数原型
写了个脚本主要是为了给自己用的,顺带共享下。作用是提取.c文件中的函数名,生成函数原型。
#!/bin/bash
sourcesfile=$1
if [[ -f $sourcesfile ]];then
grep "\w\+[ ]\+\w\+([^()]*)[ ]*{\?$" $sourcesfile |grep -v "main" |sed -e 's/{\?$/;/' > "${sourcesfile%.*}.h"
fi
说明:
grep与perl风格的正则符号的区别
\+ +
\? ?
( \( 注:普通括号
) \)
{ \{
shell中操作字符串的符号%
%符号会把匹配成功的东西丢掉(从后面开始,从前面开始是#),感觉像截取掉。
例如
str=test.c
echo ${str%.*}.h
打印结果:test.h
再来个简单的例子
str2=123456
echo ${str2%56}
打印结果:1234
//测试数据
int add(int a, int b){
return a+b;
}
int stringtoint(char * str)
{
return 0;
}
void f();
int main(){
int n = 3;
if( n <= 3 ){
printf("n <=3");
}
add(3,4);
return 0;
}
void f(){
printf("xy");
}
脚本运行结果为:
int add(int a, int b);
int stringtoint(char * str);
void f();
提取.c文件中的函数名相关推荐
- 将图片名写入txt文件 根据txt文件中的图片名提取特定图像 将图片插入word
本文讲述3种方法,分别是:1. 将图片名写入txt文件:2. 根据txt文件中的图片名提取特定图像:3. 将图片插入word 将图片名写入txt文件(可将训练集.测试集中图片名分别记录在txt文件中) ...
- 【Python项目实战】提取.docx文件中的图片并保存到指定的文件夹
文章目录 一.需求分析 二.系统设计 2.1系统业务流程 2.2系统预览 三.系统开发必备 3.1 系统开发环境 3.2文件组织结构 四.主函数设计 1.创建窗口 2.创建按钮 3.创建输入框 五.函 ...
- python提取pdf表格数据_Python骚操作,提取pdf文件中的表格数据!
在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报.发行上市公告等.面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取.那么如何才能高效提取出pdf文 ...
- python-批量提取srt文件中的纯文本
python-批量提取srt文件中的纯文本 1.功能介绍 为了方便日常的使用,我将批量提取 srt 文件中纯文本的程序打包成了 exe 文件,这样就不用安装 python 环境和相关的库了. 现在版本 ...
- Tips--利用shell脚本批量提取txt文件中任意字段
利用shell脚本批量提取txt文件中任意字段 前言 0. 一个例子 1. cat命令 2. '|'符号与'>'符号 3. grep命令 4. awk命令 前言 对于测试中出现的log,我们经常 ...
- Python工具源码,Python批量提取PPT文件中的图片
在办公场景当中,同样也有这样一个需求,那就是快速批量把PPT文件中的图片提取出来,毕竟一个个点击另存为太过于繁琐,以及耗费时间,前面本渣渣分享过如何应用Python批量提取PDF文件中的图片,而这一篇 ...
- 如何提取pdf文件中的某一页?
如何提取pdf文件中的某一页?如果你是一名上班族,那么对pdf文件肯定比较熟悉,因为每天都会解除这种文件,相信大家也知道,pdf文件是有很多页面组成的一种文件,并且pdf文件步那么容易被编辑.如果你得 ...
- python调用js库中的函数_Python 调用JS文件中的函数
Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...
- python调用php命令行,python调用php函数 python怎样调用php文件中的函数详解
前言 python调用php代码实现思路:php文件可通过在terminal中使用php命令行进行调用,因此可使用python开启子进程执行命令行代码.函数所需的参数可通过命令行传递. 测试环境 1. ...
最新文章
- 【springboot】【redis】springboot+redis实现发布订阅功能,实现redis的消息队列的功能...
- Scrum Meeting---Four(2015-10-28)
- GoldenGate 配置extract,replicat进程自启动
- 物联网技术的发展历史及关键技术
- 技术人生:新的生活计划
- QT——设置可执行文件图标
- Redis面试刁难大全
- 【分布式】Zookeeper的服务器角色
- 使用jsp:include嵌入页面的两种方式
- Leetcode 303.区域和检索 - 数组不可变
- 软件测试与软件开发比较?
- 三极管特性——截止区、放大区、饱和区
- Android APK 反编译
- 不相交轮换的乘积怎么求_伽罗华理论基础_刘长安.pdf_(12)(123)(14)不相交的乘积,8.将10次置换表互不相交的循环置换的乘积,并且求出。的逆与。的阶-教育文档类资源...
- 镜头、CCD芯片、视场、物距之间的关系
- js根据邮箱账号跳转登录邮箱地址
- JS控制台报错Uncaught TypeError Cannot read properties of null (reading ‘appendChild‘);的解决方法
- HC3i论坛医疗信息化热门资源100个
- [笔记]Windows核心编程《二十》DLL的高级操作技术
- Amdahl定律(最直观理解)