`
Netpet_11
  • 浏览: 3702 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux中查找包含特定字符串的所有文件

阅读更多

1.findtxt.sh

#!/bin/bash 

 

echo -e "\nThis script finds files in a specific dir with a keyword.\nOK,Please input a keyword:"

 

read keyword

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

    echo  "keyword can not be null!\n"

    exit 0

fi 

      

echo "\nPlease input the dir path:"

read dirPath

while [ "$dirPath" = "" ]

do

  echo  "The dir can't be null,pls input it again"

  read  dirPath

done

 

if [ ! -d "$dirPath" ]; then

  echo "The $dirPath is not exist!\n\n"

  exit 0

fi

      

echo  "\n--------------- Find these files ---------------\n"

 

fileCount=0

files=`ls -R $dirPath 2> /dev/null | grep -v '^$'`

for fileName in $files

do  

    temp=`echo $fileName | sed 's/:.*$//g'`

    if [ "$fileName" != "$temp" ]; then 

        currentDir=$temp

    else 

        fileType=`file $currentDir/$fileName | grep "text"`

        if [ "$fileType" != "" ]; then 

            temp=`grep $keyword $currentDir/$fileName 2> /dev/null`

            if [ "$temp" != "" ]; then 

                echo $currentDir/$fileName

                fileCount=`expr $fileCount + 1`

            fi 

        fi 

    fi 

done 

if [ $fileCount -gt 0 ];then

  echo "\n\nFiles Total: $fileCount"

  echo "\nFind Finished!\n"

else

  echo "No files found!"

fi

 

2.将以上findtxt.sh放在任意目录下,如:/home/findtxt.sh

 

3.切换到当前用户目录下:cd ~

编辑.bashrc文件

在文件的最末尾添加:

#alias for the find special content in the type files of text

alias findtxt='sh /home/findtxt.sh'

 

4.重新登录后生效。

 

5. tom@tom-VirtualBox:~$ findtxt

This script finds files in a specific dir with a keyword.

OK,Please input a keyword:

 

 

分享到:
评论

相关推荐

    入门学习Linux常用必会60个命令实例详解doc/txt

    -a:将/etc/fstab中定义的所有文件系统挂上。 -F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统时可以加快加载的速度。 -f:通常用于除错。它会使...

    Windows cmd 管道过滤命令findstr 学习文档

    findstr是Window系统自带的命令,用途是查找指定的一个或多个文件文件中包含(或通过参数 /V来控制不包含)某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符串所在的文件名。 搜索文件中的文本...

    Linux动态库文件符号分析源代码

    使用Visual Studio 2015的工程源代码...在文件中查找特定字符串"version"。查找字符串可根据源码自行修改。 在windows下执行,有类似Linux的strings的功能。 压缩包包含了一个32位动态库和一个64位动态库,作测试使用。

    linux_c API函数大全

    strcspn(返回字符串中连续不含指定字符串内容的字符数) 44 5.19 44 strdup(复制字符串) 44 5.20 45 strlen(返回字符串长度) 45 5.21 45 strncasecmp(忽略大小写比较字符串) 45 5.22 46 strncat(连接两字符...

    Linux C 函数参考.zip

    isalnum(测试字符是否为英文或数字) isalpha (测试字符是否为英文字母) ...index(查找字符串中第一个出现的指定字符) memccpy(拷贝内存内容) memchr(在某一内存范围中查找一特定字符) …… …… ……

    apropos命令 在whatis数据库中查找字符串

    apropos命令在一些特定的包含系统命令的简短描述的数据库文件里查找关键字,然后把结果送到标准输出。 如果你不知道完成某个特定任务所需要命令的名称,可以使用一个关键字通过Linux apropos实用程序来搜索它。该...

    LINUX与UNIX SHELL编程指南(很全)

    7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合 52 7.7 使用\{\}匹配模式结果出现的次数 53 7.8 小结 55 第8章 grep家族 56 8.1 grep 57 8.1.1 ...

    cmd操作命令和linux命令大全收集

    例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件 del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q ...

    Linux shell编程指南

    7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合 52 7.7 使用\{\}匹配模式结果出现的次数 53 7.8 小结 55 第8章 grep家族 56 8.1 grep 57 8.1.1 ...

    Linux与unix shell编程指南

    7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合 52 7.7 使用\{\}匹配模式结果出现的次数 53 7.8 小结 55 第8章 grep家族 56 8.1 grep 57 8.1.1 ...

    Linux使用教程(教程)

    ※字符串比较运算符 80 ※整数比较运算符 81 ※布尔运算符 83 3.流程控制 86 ※3.1 if 86 ※3.2.case 87 ※3.3. selsect 88 ※3.4.loop 89 ※3.5. Here documents 90 ※3.6函数 90 ※4.命令行参数 91 九、shell 十三...

    Linux指令一周通 (技术图书大系).azw3

    文件格式为azw3,文字版本,可以用kindle阅读,PC端可以用calibre,可以转成epub所有手机阅读软件都支持,对手机的排版支持还不错. 内容目录 第1天 文本操作指令 1.1 ar 指令:创建、修改或从档案文件中提取文件 1.2 ...

    linux shell 编程教程

    7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合 52 7.7 使用\{\}匹配模式结果出现的次数 53 7.8 小结 55 第8章 grep家族 56 8.1 grep 57 8.1.1 ...

    绝版经典《Linux与UNIX Shell编程指南》

    7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合 52 7.7 使用\{\}匹配模式结果出现的次数 53 7.8 小结 55 第8章 grep家族 56 8.1 grep 57 8.1.1 ...

    LINUX与UNIX SHELL编程指南 高清PDF

    7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合 52 7.7 使用\{\}匹配模式结果出现的次数 53 7.8 小结 55 第8章 grep家族 56 8.1 grep 57 8.1.1 ...

    基于Linux系统下的仓库管理系统

    主要功能为插入、删除、查找(根据编号或名字)、更新信息、退出程序,运行程序时,先输入程序密码(123456),这可以在程序中自己设定。当输错密码5次时将直接退出程序。密码正确时,则执行上述功能。 该系统还可以...

    RED HAT LINUX 6大全

    12.5 在/etc/passwd文件中使用NISisms 232 12.6 使用网络组 232 12.7 解决问题的一些技巧 233 12.8 小结 233 第13章 网络文件系统 235 13.1 NFS安装 235 13.2 启动和停止NFS守护程序 236 13.3 NFS状态 236 13.4 配置...

    javasnmp源码-The-Security-Handbook-Kali-Linux:一份有用的参考指南和一本适合初学者的安全基础手册

    查找名称中包含特定字符串的文件的搜索: find / -name sbd\* 显示活动的互联网连接netstat -lntp 更改密码passwd 验证服务正在运行和侦听netstat -antp |grep apache 启动服务systemctl start ssh systemctl start ...

    java红酒网站源码-OSCP-Notes:OSCP-笔记

    查找名称中包含特定字符串的文件的搜索: find / -name sbd\* 显示活动的互联网连接netstat -lntp 更改密码passwd 验证服务正在运行和侦听netstat -antp |grep apache 启动服务systemctl start ssh systemctl start ...

    LINUX与UNIX_Shell编程指南

    7.4 使用*匹配字符串中的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合 52 7.7 使用\{\}匹配模式结果出现的次数 53 7.8 小结 55 第8章 grep家族 56 8.1 grep 57 ...

Global site tag (gtag.js) - Google Analytics