免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 6838 | 回复: 46
打印 上一主题 下一主题

[学习分享] 新手报到! [复制链接]

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-09-03 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-31 08:45 |只看该作者 |倒序浏览
目前在学校学习Unix语言中,希望能在这里互相学习指导!

论坛徽章:
0
2 [报告]
发表于 2015-08-31 09:30 |只看该作者
好的 我也是新手多多指教

论坛徽章:
0
3 [报告]
发表于 2015-08-31 12:41 |只看该作者
I am also learning unix too.
I have some questions about the commad 'grep' hope we can learn together

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-09-03 06:20:00
4 [报告]
发表于 2015-08-31 13:18 |只看该作者
本帖最后由 palladiosh 于 2015-08-31 15:13 编辑

Grep
-i :忽略大小写
-c :打印匹配的行数
-l :只输出包含匹配的文件名。
-L:列出不匹配的文件名
-v :查找不包含匹配项的行
-n:打印包含匹配项的行和行标
- h:查询多文件时不显示文件名。
-w: 只匹配单词
-c :计算找到 '搜寻字符串' 的次数

grep的规则表达式:
^  开始 如:'^grep'匹配所有以grep开头的行。   
$  结束 如:'grep$'匹配所有以grep结尾的行。   
.  匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。   
*  匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。   
+   表示 一个或多个重复字符。  not work in old regex, but support eregx.
.* 一起用代表任意字符。   
[] 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。   
[^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。   
\(..\)  标记匹配字符,如'\(love\)',love被标记为1。   
\<    锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。   
\>    锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。   
x\{m\}  重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。   
x\{m,\}  重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。   
x\{m,n\}  重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。   
\w    匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。   
\W    \w的反置形式,匹配一个或多个非单词字符,如点号句号等。   
\b    单词锁定符,如: '\bgrep\b'只匹配grep。

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-09-03 06:20:00
5 [报告]
发表于 2015-08-31 13:18 |只看该作者
本帖最后由 palladiosh 于 2015-08-31 15:13 编辑

1* -- zero or more 1’s
1+ -- one or more 1’s
1? – zero or one 1
1{2} – 2 1’s
1{2,} – at least 2 1’s
1 {2,4} – between 2 and 4 1’s
(dog)* -- zero or more dogs
d[aeiou]g --dag, deg, dig
d[^aeiou]g –dbg, dcg, dng,…..
d.g--d+anything+g
^cat-- begin with cat
cat$ -- finish with cat
[^"]--anything except"
[0-9]; \d--any digit
[0-9]+ -- 1个数字或更多
[0-9]{4}--4个数字

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-09-03 06:20:00
6 [报告]
发表于 2015-08-31 13:19 |只看该作者
本帖最后由 palladiosh 于 2015-08-31 15:14 编辑

grep - P  ‘\d{1,2}\/\d{1,2}\/\d{1,2}’  -- 10/26/07
grep - E '^[^#]*\$[A-Z_]+\b'  towers.sh   被使用的变量: 开头不为#  任意字符  $ 大写字母 _  “+”表示1个或多个  切割
grep - E '^[^#]*[A-Z_]+\b='  towers.sh  定义的变量: 开头不为#   任意字符   [大写字母 _] 一个或多个  切割  =
grep -E -l '/root/backup.log' *    打印出将数据存入/root/backup.log的文件名
grep -E -v '\ ' box.sh   不包含空格
grep -E -v '^$' box.sh  不包含空白行(开头结尾)
grep -E -v '(\ )|^$' box.sh  不包含空格或空白行
grep  -E -v -l '(\ )|^$' * 只列出不包含空格或空白行的文件名
grep –E '\[.\]' homework.sh  列出[0],[1],[a]……
grep –E ‘\[[0-9]\]’ homework.sh 列出数组
grep -E -c '\(\(.+\)\)' *  计算出数学表达示出现的次数   数学表达示以(( ))表示
grep –P ‘(19|20)\d{2}[-/.]\d{2}[-/.]\d{2}’ *  找出19XX或20XX年的数据  1990-08-03; 2001/12/01; 2004.06.08
grep ‘[a-z]\{5\}’ aa  显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
egrep -l ‘mail’~/unix/* >2 | cp 2 ~/s2-files  列出unix文件夹下包含’mail’的文件名,输入至文件2并将文件2复制到s2-files文件夹中

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-09-03 06:20:00
7 [报告]
发表于 2015-08-31 13:19 |只看该作者
本帖最后由 palladiosh 于 2015-09-07 14:38 编辑

项顶顶顶顶

论坛徽章:
1
操作系统版块每日发帖之星
日期:2015-09-03 06:20:00
8 [报告]
发表于 2015-08-31 13:34 |只看该作者
本帖最后由 palladiosh 于 2015-08-31 15:15 编辑

回复 4# palladiosh


    ls -S -tr /usr/local/unix/gutenberg>olde_to_new

论坛徽章:
0
9 [报告]
发表于 2015-08-31 13:39 |只看该作者
2.  cat -n /usr/local/linuxgym-data/gutenberg/foo.txt>saucy_salamander

论坛徽章:
0
10 [报告]
发表于 2015-08-31 13:57 |只看该作者
3 ls -d /usr/local/linuxgym-data/gutenberg/* | grep -E '^/usr/local/linuxgym-data/gutenberg/[02w].*s.*' > trustry_tahr
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP