ack基础命令(过滤字符串)

mv ack-v3.5.0 /usr/bin/ack
735 2023-06-01 14:22:00 root chmod 755 /usr/bin/ack
736 2023-06-01 14:22:02 root ack

Linux实战之ack20个实战命令

入门小站 2023-05-30 21:30 发表于湖北
 

以下文章来源于一个Linux ,作者一个Linux

一个Linux.

每天分享一个Linux命令。

一个Linux
每天分享一个Linux命令。
17篇原创内容

以下是 Linux 实战中关于 ack 命令的 20 个实战命令及其代码:

1. 搜索当前目录下带有 "foo" 字符串的文件:

ack "foo"

2. 搜索指定文件中带有 "foo" 字符串的行:

ack "foo" file.txt

3. 搜索当前目录下所有 .txt 文件中带有 "foo" 字符串的行,并忽略掉大小写:

ack -i "foo" *.txt

4. 显示搜索结果的行号:

ack -n "foo"

5. 搜索当前目录下所有 .txt 文件中带有 "foo" 字符串的行,并显示搜索结果所在的文件名:

ack -l "foo" *.txt

6. 搜索当前目录下所有 .txt 文件中不带有 "foo" 字符串的行:

ack -v "foo" *.txt

7. 显示搜索结果的上下文(5行):

ack -C5 "foo"

8. 显示搜索结果的上下文(2行),并在输出中加入文件名和行号:

ack -c2 --print0 "foo" | xargs -0n2 -Ix sh -c 'echo "File x, Line $1: $2"' sh

9. 搜索当前目录下所有 .txt 和 .md 文件中带有 "foo" 或者 "bar" 字符串的行:

ack -G '\.(txt|md)$' "(foo|bar)"

10. 在搜索结果中排除某个目录:

ack "foo" --ignore-dir=dir_to_ignore

11. 在搜索结果中排除某个文件:

ack "foo" --ignore-file=file_to_ignore

12. 显示搜索结果的文件类型:

ack -f "foo"

13. 搜索当前目录下带有 "foo" 字符串的文件,并替换为 "bar":

ack -l "foo" | xargs sed -i 's/foo/bar/g'

14. 显示搜索结果的统计信息:

ack -c "foo"

15. 在搜索结果中只显示匹配的字符串:

ack -o "foo"

16. 搜索当前目录下所有 .txt 和 .md 文件中带有 "foo" 或者 "bar" 字符串的行,并使用正则表达式进行匹配:

ack -G '\.(txt|md)$' "(f|b)oo"

17. 显示 ack 的版本号:

ack --version

18. 显示 ack 的帮助文档:

ack --help

19. 在搜索结果中高亮显示匹配的字符串:

ack --color "foo"

20. 在搜索结果中不高亮显示匹配的字符串:

ack --nocolor "foo"


一个Linux
每天分享一个Linux命令。
17篇原创内容
阅读 476
 
posted @ 2023-06-01 14:23  往事已成昨天  阅读(219)  评论(0编辑  收藏  举报