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个实战命令
以下文章来源于一个Linux ,作者一个Linux
一个Linux.
每天分享一个Linux命令。
一个Linux
每天分享一个Linux命令。
公众号
以下是 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命令。
公众号