一号优惠经验分享网
51福利网的各种薅羊毛福利经验笔记

Linux中搜索文件中字符的命令

在Linux中,可以使用grep命令来搜索文件中的字符,linux搜索文字。linux搜索字符基本格式如下:linux服务器查找字符,查询字符

grep [options] pattern [file...]

例如,如果在给定的文件中搜索某个字符串,可以直接使用以下命令:

51福利网
grep -r "main" ./

如果要在特定目录下递归搜索某个特定的字符串,可以使用以下命令:

grep -r "main" ./

如果只指定-r来搜索,可能会打印出很多无用的错误信息,这会干扰在搜索结果中查找所需的信息。这时可以使用-s选项来去除这些错误信息:

grep -rs "main" ./

如果想要知道字符串所在的行号,那一定要指定-n选项:

grep -nrs "main" ./

下面举例

我要搜索目录a下有没文件含有b这个字符

grep -r "b" /path/to/directorya

其中,-r表示递归搜索,/path/to/directorya为要搜索的目录a的路径。执行该命令后,会输出所有包含b这个字符的文件名及其所在行。

如果我已经在a目录下了

grep -r "b" .

这个命令会递归搜索当前目录下的所有文件,并输出所有包含b这个字符的文件名及其所在行。

怎么排除txt格式文件?

find . -type f ! -name '*.txt' -exec grep -H "b" {} \;

这里是命令的解释:

  • find .:从当前目录开始搜索。
  • -type f:只搜索文件,不搜索目录。
  • ! -name '*.txt':排除所有 .txt 文件。
  • -exec:对每个找到的文件执行指定的命令。
  • grep -H "b" {}:在找到的文件中执行 grep 命令,查找包含 “b” 的行。
  • \;:结束 -exec 参数。

注意:这个命令会搜索所有文件,除了 .txt 文件。如果你只想搜索特定的其他文件类型,你可以修改 -name '*.txt' 部分,用其他通配符或模式来排除。

排除txt文件和html文件

find . -type f ! \( -name '*.txt' -o -name '*.html' \) -exec grep -H "b" {} +

只显示文件名而不是显示匹配的行,您可以使用grep-l选项。这样,grep会只输出包含匹配文本的文件名。

find . -type f ! \( -name '*.txt' -o -name '*.html' \) -exec grep -l "$sb" {} +

一号优惠 · 51福利网薅羊毛福利具有时效性,如已失效,请留言
文章名称:《Linux中搜索文件中字符的命令》-一号优惠 · 51福利网
免责申明:本站所有活动信息均来自网络,如有失效、违规、不实或侵权,请联系我们删除。谢谢

评论 抢沙发

一号优惠经验分享网最新最全薅羊毛,现金红包线报网

一号优惠经验分享网提供每日最新内部优惠,薅羊毛活动,现金红包领取,免费福利和网赚福利手机赚钱线报,打造中国最受欢迎的网赚信息发布平台!51福利网

51联盟线报群赚钱·合作·帮助

登录

找回密码

注册