#!/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