ChinaUnix上大神網中人总结的Shell十三问?,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点。每一问都写得非常精彩。 同样是ChinaUnix上,wingger大神整理的Shell基础二十篇。这份文档涉及的内容比较多,我没记错的话应该有很多命令的用法,而且配备实际使用的例子,对初学者帮助甚大。 Shell脚本专家指南也是一本不可多得的好书,我是之前在学校的时候买的这本书。上面都是作者实际工作中的经验总结,你可以从中学到很多其它书上学不到的实践知识。千万不要被专家两个字吓住了,书名的意思是专家给你总结的学习指南。 注:mingxinglai也在他的博客文章shell脚本学习材料种整理了很多实用的资料。 正则表达式 我个人学习正则表达式是从正则表达式30分钟入门教程开始的,这份文档让我了解了正则表达式的一些基础术语和基本的用法。 Linux下的正则表达式学习相对资源比较丰富,但同样得,因为不同工具的正则表达式或多或少都有一些不同,所以初学起来也比较让人困扰,但是正则表达式的关键在于多学多用。多看看grep/sed/awk中正则的用法,慢慢得就熟悉了。 这里推荐一篇InfoQ上介绍Linux下正则表达式不同流派之前的区别的文章——Linux/Unix工具与正则表达式的POSIX规范,读了它之后你会让你有种豁然开朗的感觉。 Sed与awk…
Linux: Ack 用法, Ack 文档
用法
用法: ack [选项] ...模式[文件或目录]
可以在 例: ack -i 选择 |
正在搜寻
-i, --ignore-case |
忽略模式中的区分大小写 |
--[no]smart-case |
忽略模式中的区分大小写,但仅当模式不包含大写字母时 如果 |
-v, --invert-match |
反转匹配:选择不匹配的行 |
-w, --word-regexp |
强制模式仅匹配整个单词 |
-Q, --literal |
引用所有元字符:模式是文字 |
搜索输出
--lines=NUM |
|
-l, --files-with-matches |
仅打印包含匹配项的文件名 |
-L, --files-without-matches |
仅打印不匹配的文件名 |
--output=expr |
输出每一行的表达式求值 关闭文本突出显示。 |
-o |
仅显示行匹配模式的一部分 |
--passthru |
打印所有行,无论是否匹配 |
--match PATTERN |
明确指定模式。 |
-m, --max-count=NUM |
|
-1 |
一场比赛后停止搜寻 |
-H, --with-filename |
打印每个匹配项的文件名 除非明确搜索单个文件,否则这是默认设置。 |
-h, --no-filename |
禁止在输出中添加前缀文件名 |
-c, --count |
显示每个文件匹配的行数 |
--[no]column |
显示第一个匹配项的列号 |
-A NUM, --after-context=NUM |
|
-B NUM, --before-context=NUM |
|
-C [NUM], --context[=NUM] |
打印 预设值为2。 |
--print0 |
打印空字节作为文件名之间的分隔符 仅适用于 |
-s |
抑制有关不存在或不可读文件的错误消息 |
文件展示
--pager=COMMAND |
通过所有管道输出确认 例如, |
--nopager |
不要通过寻呼机发送输出 取消中的任何设置 |
--[no]heading |
在每个文件的结果上方打印文件名标题 当以交互方式使用时,默认值为on。 |
--[no]break |
打印来自不同文件的结果之间的间隔 当以交互方式使用时,默认值为on。 |
--group |
和…一样 |
--nogroup |
和…一样 |
--[no]color |
突出显示匹配的文本 除非重定向输出,否则默认值为on;否则,在Windows上为默认值。 |
--color-filename=COLOR |
设置文件名的颜色 |
--color-match=COLOR |
为比赛设置颜色 |
--color-lineno=COLOR |
设置行号的颜色 |
--[no]colour |
和…一样 |
--flush |
立即清除输出,即使非交互使用ack(输出进入管道或文件时) |
文件查找
-f |
仅打印所选文件,而不进行搜索 在 |
-g |
与相同 |
--sort-files |
按词法对找到的文件进行排序 |
--show-types |
显示每个文件有哪些类型 |
--files-from=FILE |
阅读要搜索的文件列表 |
-x |
阅读要搜索的文件列表 |
文件包含和排除
--[no]ignore-dir=name |
从忽略目录列表中添加或删除目录 |
--[no]ignore-directory=name |
的同义词 |
--ignore-file=filter |
添加过滤器以忽略文件 |
-r, -R, --recurse |
递归到子目录 这是ack的默认行为。 |
-n, --no-recurse |
没有下降到子目录 |
--[no]follow |
跟随符号链接 默认为关闭。 |
-k, --known-types |
仅包括可识别ack的文件 |
--type=X |
仅包括具有文件类型的文件 |
--type=noX |
排除文件类型为文件的文件 请参阅 |
杂
--[no]env |
忽略环境变量和全局 |
--ackrc=filename |
指定 |
--ignore-ack-defaults |
忽略ack包含的默认定义 |
--create-ackrc |
将 |
--help, -? |
显示帮助 |
--help-types |
显示所有已知类型 |
--dump |
转储有关从哪些RC文件加载哪些选项的信息 |
--[no]filter |
强制确认以将标准输入视为管道 |
--man |
手册页 |
--version |
显示版本和版权 |
--thpppt |
比尔猫 |
--bar |
警告海军上将 |
文件类型规范
--type-set TYPE:FILTER:FILTERARGS |
将具有给定值的文件 |
--type-add TYPE:FILTER:FILTERARGS |
已将给定文件 |
--type-del TYPE |
删除与之关联的所有过滤器 |
文件类型
--[no]actionscript |
|
--[no]ada |
|
--[no]asm |
|
--[no]asp |
|
--[no]aspx |
|
--[no]batch |
|
--[no]cc |
|
--[no]cfmx |
|
--[no]clojure |
|
--[no]cmake |
|
--[no]coffeescript |
|
--[no]cpp |
|
--[no]csharp |
|
--[no]css |
|
--[no]dart |
|
--[no]delphi |
|
--[no]elisp |
|
--[no]elixir |
|
--[no]erlang |
|
--[no]fortran |
|
--[no]go |
|
--[no]groovy |
|
--[no]haskell |
|
--[no]hh |
|
--[no]html |
|
--[no]java |
|
--[no]js |
|
--[no]json |
|
--[no]jsp |
|
--[no]less |
|
--[no]lisp |
|
--[no]lua |
|
--[no]make |
|
--[no]matlab |
|
--[no]md |
|
--[no]objc |
|
--[no]objcpp |
|
--[no]ocaml |
|
--[no]parrot |
|
--[no]perl |
|
--[no]perltest |
|
--[no]php |
|
--[no]plone |
|
--[no]pmc |
|
--[no]python |
|
--[no]rake |
|
--[no]rr |
|
--[no]ruby |
|
--[no]rust |
|
--[no]sass |
|
--[no]scala |
|
--[no]scheme |
|
--[no]shell |
|
--[no]smalltalk |
|
--[no]sql |
|
--[no]tcl |
|
--[no]tex |
|
--[no]textile |
|
--[no]tt |
|
--[no]vb |
|
--[no]verilog |
|
--[no]vhdl |
|
--[no]vim |
|
--[no]xml |
|
--[no]yaml |
|
英文版:https://kapeli.com/cheat_sheets/Ack.docset/Contents/Resources/Documents/index