热门关键字:  ubuntu  分区  函数  linux系统进程  Fedora

当前位置 :| 主页>Linux教程>Shell开发>

shell学习—关于grep的简单使用

来源: 作者: 时间:2007-11-19 Tag: 点击:

grep是在shell中比较常用的工具,常用的选项有:
-c只输出匹配行的计数,例如:

[liuqi@ljjk liuqi]$ grep -c "get" /usr/include/ncurses.h
57

-i不区分大小写(只适用于单字符),例如:
[liuqi@ljjk liuqi]$ grep -i "GET" /usr/include/ncurses.h
#include <wchar.h>              /* ...to get mbstate_t, etc. */
#ifdef NCURSES_WGETCH_EVENTS
extern NCURSES_EXPORT(int) wgetch_events(WINDOW *, _nc_eventlist *);    /* experimental */
extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);/* experimental */
#endif /* NCURSES_WGETCH_EVENTS */
extern NCURSES_EXPORT(int) attr_get (attr_t *, short *, void *);        /* generated */
extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *);                       /* generated */
extern NCURSES_EXPORT(int) getch (void);                                /* generated */
extern NCURSES_EXPORT(int) getnstr (char *, int);                       /* generated */
extern NCURSES_EXPORT(int) getstr (char *);                             /* generated */
extern NCURSES_EXPORT(WINDOW *) getwin (FILE *);                        /* implemented */
extern NCURSES_EXPORT(int) mvgetch (int, int);                          /* generated */
extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int);           /* generated */
extern NCURSES_EXPORT(int) mvgetstr (int, int, char *);                 /* generated */
extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int);               /* generated */
extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int);       /* generated */
extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *);      /* generated */
extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);            /* implemented */
extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);             /* implemented */
extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);          /* implemented */
extern NCURSES_EXPORT(int) ungetch (int);                               /* implemented */
extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, short *, void *);    /* generated */
extern NCURSES_EXPORT(int) wgetch (WINDOW *);                           /* implemented */
extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *);                  /* generated */
#define wgetstr(w, s)           wgetnstr(w, s, -1)
#define getnstr(s, n)           wgetnstr(stdscr, s, n)
#define gettmode()
#define getyx(win,y,x)          (y = (win)?(win)->_cury:ERR, x = (win)?(win)->_curx:ERR)
#define getbegyx(win,y,x)       (y = (win)?(win)->_begy:ERR, x = (win)?(win)->_begx:ERR)
#define getmaxyx(win,y,x)       (y = (win)?((win)->_maxy + 1):ERR, x = (win)?((win)->_maxx + 1):ERR)
#define getparyx(win,y,x)       (y = (win)?(win)->_pary:ERR, x = (win)?(win)->_parx:ERR)
#define getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \
                         else getyx(newscr,(y),(x)); \
#define getattrs(win)           ((win)?(win)->_attrs:A_NORMAL)
#define getcurx(win)            ((win)?(win)->_curx:ERR)
#define getcury(win)            ((win)?(win)->_cury:ERR)
#define getbegx(win)            ((win)?(win)->_begx:ERR)
#define getbegy(win)            ((win)?(win)->_begy:ERR)
#define getmaxx(win)            ((win)?((win)->_maxx + 1):ERR)
#define getmaxy(win)            ((win)?((win)->_maxy + 1):ERR)
#define getparx(win)            ((win)?(win)->_parx:ERR)
#define getpary(win)            ((win)?(win)->_pary:ERR)
#define touchwin(win)           wtouchln((win), 0, getmaxy(win), 1)
#define untouchwin(win)         wtouchln((win), 0, getmaxy(win), 0)
#define attr_get(ap,cp,o)       wattr_get(stdscr,ap,cp,o)
#define getch()                 wgetch(stdscr)
#define getstr(str)             wgetstr(stdscr,str)
#define mvwgetch(win,y,x)               (wmove(win,y,x) == ERR ? ERR : wgetch(win))
#define mvwgetnstr(win,y,x,str,n)       (wmove(win,y,x) == ERR ? ERR : wgetnstr(win,str,n))
#define mvwgetstr(win,y,x,str)          (wmove(win,y,x) == ERR ? ERR : wgetstr(win,str))
#define mvgetch(y,x)                    mvwgetch(stdscr,y,x)
#define mvgetnstr(y,x,str,n)            mvwgetnstr(stdscr,y,x,str,n)
#define mvgetstr(y,x,str)               mvwgetstr(stdscr,y,x,str)
#define getbkgd(win)                    ((win)->_bkgd)
#define wattr_get(win,a,p,opts)         ((void)((a) != 0 && (*(a) = (win)->_attrs)), \
* Pseudo-character tokens outside ASCII range.  The curses wgetch() function
extern NCURSES_EXPORT(int) getmouse (MEVENT *);
extern NCURSES_EXPORT(int) ungetmouse (MEVENT *);
[liuqi@ljjk liuqi]$

作一个对比:

[liuqi@ljjk liuqi]$ grep -c -i "GET" /usr/include/ncurses.h
59
[liuqi@ljjk liuqi]$ grep -c  "GET" /usr/include/ncurses.h
2
[liuqi@ljjk liuqi]$

上一篇:没有了
下一篇:grep,sed,awk命令实例大练习
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册