分页: 1 / 1

shell 脚本 代码处理

发表于 : 2009-04-01 21:05
mink365
例如:
#include<stdio.h>
#include<stdlib.h>
#include<openssl/md5.h>
int main(int argc, char* argv[])
{
char *buf = "helloworld";
char *md;
int i;
md = MD5(buf,strlen(buf),NULL);
printf("%s\n",md);
for (i = 0; i < strlen(md); i++)
printf("%x", md);
printf("\n");
return 0;
}


如何作才能取出stdlib.h,openssl/md5.h?awt无法做吧?

我找到了一个方法:awk -F'[][]' '{sum+=$6}END{print "total of tm is",sum}'可以处理方括号,但不能处理尖括号 ,即使直接在脚本和要处理的文件中直接替换方括号也不行!!:em20 :em20

Re: shell 脚本 代码处理

发表于 : 2009-04-01 21:41
mink365

代码: 全选

cat filename |grep '#'| sed 's/#include<//g' | sed 's/>//g'
自己发一个

Re: shell 脚本 代码处理

发表于 : 2009-04-01 21:53
mink365
结果:

代码: 全选

stdio.h
stdlib.h
openssl/md5.h
那麽,如何把stdio.h等赋值给一个变量a哪?以便cp a .?

Re: shell 脚本 代码处理

发表于 : 2009-04-02 9:10
eexpress
grep -o '<[^>]*>'
大概这样吧。

Re: shell 脚本 代码处理

发表于 : 2009-04-02 9:57
c\nc
awk 当然能了:

awk -F '[<>]' '/^#include/{print $2}' FILE

Re: shell 脚本 代码处理

发表于 : 2009-04-02 12:20
aerofox

代码: 全选

sed -n '/#include/ {s/.*<//;s/>//;p}'

Re: shell 脚本 代码处理

发表于 : 2009-04-03 12:11
bones7456
不知道你在说什么,唉...