`
zhengdl126
  • 浏览: 2543117 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

[shell]Linux在指定目录下查找包含指定字符串的文件

 
阅读更多

#!/bin/bash

echo -e "\nThis is a program to find the file in special directory which include keyword!\n\n"

if [ "$1" == "" ]; then

   echo -e "Please input the keyword behind the $0\.\n\n"
    exit 0
fi

keyword=$1

dir=.
if [ "$2" != "" ]; then
    dir=$2
fi

test ! -d $dir && echo -e "The $dir is not exist in your system\.\n\n" && exit 0

count=0
filelist=`ls -R $dir 2> /dev/null | grep -v '^$'`
for filename in $filelist
do
    temp=`echo $filename | sed 's/:.*$//g'`
    if [ "$filename" != "$temp" ]; then
        curdir=$temp
        #echo "current dir = $curdir"
    else
        filetype=`file $curdir/$filename | grep "text"`
        if [ "$filetype" != "" ]; then
            temp=`grep $keyword $curdir/$filename 2> /dev/null`
            #echo $curdir/$filename
            if [ "$temp" != "" ]; then
                echo $curdir/$filename
                count=$(($count+1))
            fi
        fi
    fi
done

echo -e "\n\nTotal: $count"
echo -e "Done"

文件保存为myfind.sh
执行:chmod u+x myfind.sh
例如:
myfind.sh cs /home/zk
在/home/zk目录下查找包含cs的字符
分享到:
评论
1 楼 flw521521 2011-12-12  
myfind.sh cs /home/zk
在/home/zk目录下查找包含cs的字符

grep -R "cs" /home/zk

可以达到同样的目的,不是吗

相关推荐

    shell 批量处理 字符串指令行

    这篇博客“shell批量处理字符串指令行”可能探讨了如何利用shell的特性来处理字符串,包括查找、替换、截取等操作。 首先,让我们了解一些基本的shell字符串处理命令: 1. **变量赋值**:在shell中,我们可以通过`...

    Shell脚本实现查找字符串中某字符最后出现的位置

    在IT领域,尤其是在系统管理和自动化任务中,Shell脚本经常被用来处理文本数据,包括查找字符串中的特定字符或模式。本文将深入探讨如何使用Shell脚本实现查找字符串中某字符最后出现的位置,以及一个简单的C语言...

    shell中字符串处理方

    在Shell编程中,字符串处理是一项重要的技能,尤其是在Linux环境下。本文将深入探讨几种高效的字符串处理技术,并通过实际示例展示这些技巧的应用场景。 #### 字符串截断 Shell提供了多种方法来截断字符串。其中,...

    在文件中或输入中查找字符

    例如,如果我们要在文件"example.txt"中查找字符串"hello",可以使用以下命令: ```shell find "hello" example.txt ``` 如果要用`findstr`命令,可以这样: ```shell findstr "hello" example.txt ``` **2. `find`...

    java 文本字符串替换工具

    需要注意的是,如果要在多个文件中进行批量替换,你可能需要将上述代码封装到一个循环或递归函数中,遍历指定目录下的所有文件。同时,为了防止意外覆盖,可以考虑先备份原始文件,或者将替换后的内容写入新的文件。...

    LinuxShell编程基础教程.pdf

    Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍...这些命令可以帮助我们在 Shell 脚本中完成各种任务,例如文件操作、字符串处理、数学运算等。

    [c++]获取linux命令返回, 并通过正则表达式过滤字符串

    这个函数接收一个字符串参数,该字符串包含要执行的命令,然后返回一个整数值,表示命令的退出状态。例如: ```cpp #include int result = system("ls -l"); ``` 上述代码会执行`ls -l`命令,列出当前目录下的...

    Linux-shell脚本全面学习.pdf

    + `grep`:在文件搜索字符串 + `cut`:指定欲显示的文件容围 + `cat`:输出文件容到标准输出设备 + `file`:得到文件类型 + `read`:提示用户输入,并将输入赋值给变量 + `sort`:对文件中的行进行排序 + `...

    Linux查找文件中的字符串命令 grep -nr 'archermind'

    (1)字符串参数最好采用是双引号括,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串 -c:只输出匹配行的记数 -i:不区分大小写(只适用于单个字符) -h:查询多个文件时不显示文件名 -H:只显示...

    linux下perl,sed,shell批量替换文件内容.docx

    其中,`grep` 命令用于查找包含指定字符串的文件,`awk` 命令用于提取文件名,`sort` 命令用于排序,`uniq` 命令用于去重,`xargs` 命令将结果传递给 sed 命令,`sed -i` 命令将执行字符串替换操作。 例如,要将...

    Linux下的Shell 编程

    **Linux下的Shell编程** Shell编程是Linux系统中的一个重要部分,它是一种命令行接口,允许用户与操作系统进行交互,执行各种任务。Shell不仅用于执行单个命令,还可以通过编写脚本来自动化复杂的任务,大大提高...

    BASH 中的字符串处理

    在Linux和Unix环境中,BASH(Bourne-Again SHell)是默认的命令行解释器,广泛用于脚本编程和日常任务自动化。字符串处理是BASH编程中的重要组成部分,它允许用户对文本数据进行操作,包括截取、替换、比较等。这篇...

    linux shell 字符串操作(长度,查找,替换)详解

    本文将详细介绍如何在Linux shell中进行字符串的操作,包括获取字符串长度、字符串的查找与替换等功能,并提供具体的示例以便读者更好地理解和掌握这些技巧。 #### 一、字符串的基本操作 ##### 1. 判断和读取字符...

    linux使用shell搜索查找文本的几种方法分享.docx

    例如,要在目录`dir`下查找包含字符串`str`的文件,可以使用以下命令: ``` find dir | xargs grep str ``` 如果要针对单个文件`file`进行搜索,命令变为: ``` find file | xargs grep str ``` 2. **直接...

    shell脚本修改json中某个字段的值

    在修改JSON字段的场景中,sed可以查找并替换特定的字符串,而无需打开或修改原始文件。 下面是一个基本的shell脚本示例,演示如何使用awk和sed修改JSON文件中的某个字段值: ```bash #!/bin/bash # 定义要修改的...

    Linux环境下shell编程

    Linux下常见的Shell类型包括: - **Bourne Shell (sh)**:由Steve Bourne开发,是最原始的一种Shell。 - **C Shell (csh)**:设计上模仿了C语言的语法。 - **Korn Shell (ksh)**:结合了Bourne Shell和C Shell的优点...

    linux中常用的shell命令实验

    * 使用 grep 命令在/etc/inittab 文件中查询“initdefault”字符串 * 使用 find 和 locate 命令查找/目录下所有以 main 开头的文件,并显示这些文件的内容 * 用 cp 命令将/etc 目录下的 inittab 文件和拷贝到/root ...

    Linux-shell-ppt

    13. **find**: 在指定路径下查找文件。 14. **man**: 查看命令的手册页。 **Shell脚本** 编写Shell脚本时,我们需要定义脚本的首行`#!/bin/bash`来指定使用Bash解释器。然后,我们可以定义变量、使用条件语句(if....

    shell查找某字符串在某文件中出现行数的方法

    在Linux系统中,Shell脚本提供了强大的文本处理能力,其中包括查找和分析文件中的特定字符串。本文将详细介绍如何使用Shell命令来查找某字符串在文件中出现的行数。 首先,最常用的命令是`grep`,它能够高效地在...

Global site tag (gtag.js) - Google Analytics