一、循环列出目录下所有文件

#!/bin/bash

function frfile()

{

local basefolder=$1

echo $basefolder

#local filename

for filename in $(ls $basefolder)

do

local fullpathfile=$basefolder/$filename

if [ -d $fullpathfile ]

then

echo ======dir======

ft=`ls $fullpathfile`

if [ ! -z "$ft" ]

then

echo ==$fullpathfile not empty==

frfile $fullpathfile

else

echo ==$fullpathfile empty==

fi

else

echo $fullpathfile

#cat -n $fullpathfile | grep found

fi

done

return

}

basefolder=`dirname $0`

echo "basefolder $basefolder"

frfile $basefolder/$1

对于目录结构如下

# tree emptydir

emptydir

|-- bf 非空目录

| `-- b.t

|-- def

`-- noted 非空目录

|-- abc

`-- ed 空目录

3 directories, 3 files

列出其文件为

# ./listfiles.sh emptydir

basefolder .

./emptydir

======dir======

==./emptydir/bf not empty==

./emptydir/bf

./emptydir/bf/b.t

./emptydir/def

======dir======

==./emptydir/noted not empty==

./emptydir/noted

./emptydir/noted/abc

======dir======

==./emptydir/noted/ed empty==

二、查找目录下包含指定字符串的文件

#!/bin/bash

searchstring=$2

function frfile()

{

local basefolder=$1

#echo $basefolder

for filename in $(ls $basefolder)

do

local fullpathfile=$basefolder/$filename

if [ -d $fullpathfile ]

then

#echo ======dir======

ft=`ls $fullpathfile`

if [ ! -z "$ft" ]

then

#echo ==$fullpathfile not empty==

frfile $fullpathfile

#else

#echo ==$fullpathfile empty==

fi

else

#echo $fullpathfile

cat -n $fullpathfile | grep "$searchstring"

if [ $? = 0 ]

then

echo $fullpathfile

fi

fi

done

return

}

basefolder=`dirname $0`

#echo "basefolder $basefolder"

if [ ! -d $basefolder/$1 ]

then

cat -n $basefolder/$1 | grep "$searchstring"

else

frfile $basefolder/$1

fi

查找emptydir 目录下 包含字符串“found" 或 ”not found" 的文件并给出字符串在文件中的位置

# ./searchstr.sh emptydir "found"

1 not found

2 found

./emptydir/bf/b.t

# ./searchstr.sh emptydir "not found"

1 not found

./emptydir/bf/b.t

注:b.t文件中共两行即

not found

found

linux循环目录下目录,Shell循环列出目录下所有文件或查找目录下包含指定字符串的文件...相关推荐

  1. python 当前路径 搜索路径图某一个不包含_python编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径...

    解决思路 对于像我这种刚开始入门计算机的人,解决问题最关键的是思路的学习,很多时候代码,一看就懂,一写就废. 像这个题目,我们可以用程序的思维,一步一步去解决,将问题细分,细分成你能够解决的问题然后再 ...

  2. python遍历文件夹下所有文件名中含有指定_Python 遍历目录找出包含指定字符串的文件夹...

    题目:编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径 题目不难,但是初接触Python,对函数不够熟悉,犯了不少错误.总结如下: os.path. ...

  3. python 文件和目录 当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。

    廖雪峰python教程中的<操作文件和目录>下的第二题目的解答, 网址为: http://www.liaoxuefeng.com/wiki/0014316089557264a6b34895 ...

  4. linux命令 查找包含指定字符串的文件

    1.非递归搜索包含指定字符串的文件 grep 查找在当前目录下,包含mirrors.aliyuncs.com字符串的文件 grep mirrors.aliyuncs.com ./* 查找结果: 2.递 ...

  5. linux中查找某一个字符串,linux下查找包含某个字符串的文件

    linux下查找包含某个字符串的文件 | Rootop 服务器运维与web架构 比如在当前路径下有个test文件夹,其中包含 a.b. c.d.c 四个文件,内容如下: [root@rhel6www ...

  6. Linux工作笔记-使用find和grep检索文件或子文件中是否包含指定字符串

    目录 概念 演示 概念 Linux中有一个find命令,可以用于查找文件名,使用grep命令,可以用于检索文件夹中的字符串,这两个命令配合起来,可以实现强大的功能. 其中grep中有一个 -i选项,是 ...

  7. linux模糊查询特定后缀名文件,linux中查找包含指定内容的文件

    查找包含指定内容的文件就是用grep这个命令 grep 'name' -r / grep '指定内容' -r 目录 上述命令就是在根目录下递归查找包含name内容的文件 -r 递归查找文件 -e 从文 ...

  8. [linux命令]查找包含指定内容的文件

    内容查找.查找内容.查找包含指定内容的文件 文章目录 格式1:grep -r "指定内容" 目录 格式2:grep -r -l "指定内容" 目录 格式3:fi ...

  9. linux 批量替换文件内容及查找某目录下所有包含某字符串的文件(批量修改文件内容)

    转自 http://blog.csdn.net/werm520/article/details/49334513 grep -rl '10.100.137.5' | xargs sed -i '10. ...

最新文章

  1. apache thrift分析
  2. Zabbix discoverer processes more than 75% busy
  3. 人脸识别安全吗?调查称六成受访者认为技术有被滥用趋势
  4. 关于MonoDevelop自动缩进的设置
  5. 分布式之延时任务方案解析
  6. neo4j与mysql数据库_Neo4j: 迁移MySQL的数据到Neo4j
  7. Python读写json文件的简单实现
  8. tcp/ip协议listen函数中backlog参数的含义
  9. 数字藏品NFT用的国内联盟链有哪些?
  10. 即时聊天通讯软件安卓+ios双端原生源码
  11. hp服务器pe系统安装win7系统教程,惠普星 x360 u盘重装win7图文教程
  12. 各品牌进入Bios方法,附U盘制作启动盘
  13. Python如何优雅地可视化目标检测框
  14. Sketch入门基础-画布、Artboard(画板)功能介绍
  15. 计算机勾兑双绝是谁发明,那些跟你说“勾兑酒”是酒精酒的人,都是在不懂装懂...
  16. 计算机网络——BGP协议
  17. Android颜色对照表
  18. Mysql数据库宾馆管理系统_Maven+JSP+Servlet+JDBC+Mysql实现的dbExper宾馆管理系统
  19. 2.5 Visio2007不规则图形填充
  20. Arduino项目——三路抢答器的设计

热门文章

  1. PHP\Java\C#\Js\Go\Python调用小票打印机打印订单实现
  2. 网页版个人介绍/简历
  3. 关于ubuntu20.04安装后无法找到网络蓝牙等的问题
  4. 【第三篇】MySQL 索引失效的常见原因【重点】
  5. Python 遍历取字典所有值
  6. 苹果充电显示不支持此配件_为什么苹果数据线,会出现“可能不支持此配件”,今天终于知道了...
  7. B4A 动态权限申请时遇到的问题与解决方法
  8. pip卸载指定文件夹的库
  9. vscode 安装sass
  10. latex参考文献上标