linux .f,Linux下f命令配置

这篇博客介绍了如何使用grep命令在Linux中递归查找当前目录下包含特定字符串的文件,并展示了各种grep命令行参数的用法,如不区分大小写搜索、显示行号、匹配整个单词等。此外,还提供了一个bash脚本示例,该脚本接受参数,根据不同的选项进行文件类型的筛选并进行颜色高亮的搜索。
摘要由CSDN通过智能技术生成

如果你想在当前目录下 查找"hello,world!"字符串,可以这样:

========== ========== ========== ========== ========== ==========  ====

二、搜索字符串

grep -rn "hello,world!" *

* : 表示当前目录所有文件,也可以是某个文件名

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

下面是一些有意思的命令行参数:

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,

grep -l pattern files :只列出匹配的文件名,

grep -L pattern files :列出不匹配的文件名,

grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),

grep -C number pattern files :匹配的上下文分别显示[number]行,

grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

这里还有些用于搜索的特殊符号:

\< 和 \> 分别标注单词的开始与结尾。

例如:

grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,

grep '\

grep '\' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。

'^':指匹配的字符串在行首,

'$':指匹配的字符串在行尾,

2,xargs配合grep查找

find -type f -name '*.php'|xargs grep 'GroupRecord'

f文件的内容如下,复制粘贴建立文本即可

#!/bin/bash

file_type="java"

str_type="false"

String=""

name_str="name"

grep_str="grep"

if test "$1" = "i"

then

name_str="iname"

grep_str="grep -i"

shift

fi

if test "$1" = "n"

then

name_str="iname"

grep_str="grep -C 5"

shift

fi

for Type in java c c++ xml mk h cpp all

do

if test "$Type" = "$1"

then

str_type="true"

file_type="$1"

shift

fi

done

set "$*"

String="$1"

if test "$str_type" = "true"

then

if test "$file_type" = "all"

then

find . -name "*.*" | xargs $grep_str "$String" --color=auto -rn

else

find . -name "*.$file_type" | xargs $grep_str --color=auto "$String" -rn

fi

else

find . -$name_str "*$String*"

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值