乐趣区

关于shell:Mac-必装命令行工具-1

Mac 必装命令行工具 1)

作为一个命令行爱好者,Mac 的终端 terminal 真的是心头爱,各种命令行工具几乎不要太爽。肯定场景下,生产力间接腾飞。

上面列几个我简直每天都在用的命令行工具。

tldr

TOO LONG,DON’T READ。

Unix 生存第一法令:快应用 man

很多命令行工具往往都有各种参数、各种应用阐明,往往很难记得分明。而 man 外面的帮忙文档也往往又臭又长,我只是想晓得咋用,我不太晓得那么多啊!!

tldr 就是个精简版的 manDisplays simple help pages for command-line tools

Install

brew install tldr

应用

$ tldr grep

grep

Matches patterns in input text.
Supports simple patterns and regular expressions.

- Search for a pattern within a file:
    grep search_pattern path/to/file

- Search for an exact string:
    grep -F exact_string path/to/file

- Search for a pattern [R]ecursively in the current directory, showing matching line [n]umbers, [I]gnoring non-text files:
    grep -RIn search_pattern .

- Use extended regular expressions (supporting `?`, `+`, `{}`, `()` and `|`), in case-insensitive mode:
    grep -Ei search_pattern path/to/file

- Print 3 lines of [C]ontext around, [B]efore, or [A]fter each match:
    grep -C|B|A 3 search_pattern path/to/file

- Print file name with the corresponding line number for each match:
    grep -Hn search_pattern path/to/file

- Use the standard input instead of a file:
    cat path/to/file | grep search_pattern

- Invert match for excluding specific strings:
    grep -v search_pattern

当然,你也能够:tldr tldr 来看看 tldr 的用法。

tldr 对于我这种记不住各种用法的玩家来说几乎太敌对了。

ripgrep

R.I.P, grep, plz!

你晓得 grep 用法吗?

ripgrep 是一个 rust 编写的能够用来代替 grep 的命令行工具。ripgrep 相比于 grep 搜寻更快,附带了一些默认行为,比方会疏忽 .gitignore 外面所配置的一些文件和目录以及暗藏文件之类的。

Install

brew install ripgrep

更多装置形式能够参考 GitHub 仓库中的 README.md 的 installation 章节。

应用

# 默认搜寻行为,默认 keywords 为正则模式搜寻
rg 'abc'

# 通过 -g 配置搜寻门路
rg 'abc' -g '!node_modules/**'  -g '!dist/**'

# plain-text 搜寻
rg -F 'this.'

更多应用办法既能够 tldr rg 也能够在 GitHub 上查看。

fd

fd是一种简略ㄡ疾速和用户敌对的 find 代替计划.」

fd 同样是一个 rust 编写的 find 的代替工具,当然,官网也明说了 不寻求复刻 find 所有弱小的性能, 但它提供了理智的 (自定的) 80% 的用例。相比于 findfd 有很多长处。

  • 不便语法: fd PATTERN而不是find -iname '*PATTERN*'.
  • 黑白终端输入 (相似于ls)
  • 它是 疾速的 (见基准上面) .
  • 聪慧案例: 默认状况下, 搜寻不辨别大小写. 如果模式蕴含大写字符 *, 则切换为辨别大小写字符. .
  • 默认状况下, 疏忽暗藏的目录和文件.
  • 疏忽匹配你 .gitignore 文件中的模式, 默认状况.
  • 正则表达式.
  • Unicode 感知.
  • 命令输入量 50% 优于 *find: -)
  • 用相似于 GNU 穿行的语法,执行并行命令.

<!– 以上来源于 GitHub 中文 README –>

Install

brew install fd

应用

fd [FLAGS/OPTIONS] [<pattern>] [<path>...]

# 搜寻 README
fd README

# 在 src 目录下搜寻 README

fd README ./src

End

以上三个命令行工具在我的日常工作中表演了不可短少的角色。

工具只是辅助,输入还是得靠 DPS 啊,黑猫白猫抓到老鼠就是好猫。

$ tldr grep > grep.help | fd -e help --exec rg grep --files-with-matches | xargs -n1 sed -i ''-e's/grep/rg/g'
退出移动版