请问:在Linux下某一个文件夹下,如何查找包含某一个字符串的文件

请问:在Linux下某一个文件夹下,如何查找包含某一个字符串的文件,第1张

首先在终端中用cd命令切换到这个目录下,然后用grep命令查找字符串,字符串用英文单引号括起来,在命令的最后加一个英文星号*表示查找所有文件(因为grep命令的最后要指出要在哪个文件中查找字符串)。下面是一些有用的参数:

-i参数:表示忽略大小写的不同

-n参数:输出找到的字符串所在行的行号

-v参数:反向选择,显示没有查找字符串的那些行

--color=auto:将结果中的查找关键字加上颜色

使用grep命令查找某个目录下所有包含字符串hello的文件(当然得先用cd命令切换到这个文件夹下):

grep --color=auto -n 'hello' *

临下班随便写一个,大体我是这个思路,估计你看看明白,自己在改改就行了。

[flycat@redhat

~]$

cat

sfile.sh

#!/bin/bash

read

-p

"请输入要搜索的字串:"

STX

NES=(`ls

-l

|

grep

-v

'^d'

|

grep

-v

sfile.sh

|

awk

'{print

$9}'`)

for

i

in

${NES[*]}

do

#if

[

$i

-eq

2]

lines=`grep

"$STX"

$i

|

wc

-l`

NE=`grep

"$STX"

$i

-n`

TN=`grep

-o

"$STX"

$i

|

wc

-l`

echo

"匹配行数:$lines

字串个数:

$TN"

echo

-e

"显示所有内容:

$NE"

done

[flycat@redhat

~]$

./sfile.sh

请输入要搜索的字串:this

匹配行数:3

字串个数:

4

显示所有内容:

22:#

along

with

this

this

program

see

the

file

COPYING.

If

not,

write

to

37:#

is

read

after

this

file.

114:#

Center

footer

is

the

list

of

files

on

this

sheet

if

landscape

[flycat@redhat

~]$

1、可以使用grep命令来查找当前目录下所有文件中包含的某个特定字符。

2、示例:查找当前目录下所有带有set的文件 。

说明:

-r 是递归查找

-n 是显示行号

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11909311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存