sh/bash/dash/ksh/zsh等Shell脚本
-
mink365
- 帖子: 265
- 注册时间: 2008-01-29 23:15
#1
帖子
由 mink365 » 2009-04-01 21:05
例如:
#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
-
mink365
- 帖子: 265
- 注册时间: 2008-01-29 23:15
#2
帖子
由 mink365 » 2009-04-01 21:41
代码: 全选
cat filename |grep '#'| sed 's/#include<//g' | sed 's/>//g'
自己发一个
-
mink365
- 帖子: 265
- 注册时间: 2008-01-29 23:15
#3
帖子
由 mink365 » 2009-04-01 21:53
结果:
代码: 全选
stdio.h
stdlib.h
openssl/md5.h
那麽,如何把stdio.h等赋值给一个变量a哪?以便cp a .?
-
eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
#4
帖子
由 eexpress » 2009-04-02 9:10
grep -o '<[^>]*>'
大概这样吧。
● 鸣学
-
c\nc
- 帖子: 231
- 注册时间: 2007-12-25 12:51
#5
帖子
由 c\nc » 2009-04-02 9:57
awk 当然能了:
awk -F '[<>]' '/^#include/{print $2}' FILE
-
aerofox
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
#6
帖子
由 aerofox » 2009-04-02 12:20
代码: 全选
sed -n '/#include/ {s/.*<//;s/>//;p}'