Shell遍历文件夹下所有文件

一、Shell遍历文件夹所有文件

#!/bin/bash
for file in `ls /path/to/folder`
do
    echo $file
done

该脚本使用for循环遍历文件夹下所有文件,并使用echo命令输出文件名。其中,/path/to/folder为要遍历的文件夹路径。

与for语句配合使用的通配符有:

  • *
  • ? (表示任意一个字符)
  • [a-z] (表示任意一个小写字母)
  • [A-Z] (表示任意一个大写字母)

二、Shell循环遍历文件夹

#!/bin/bash
for folder in `ls -l /path/to/folder | grep "^d" | awk '{print $NF}'`
do
    echo $folder
done

该脚本使用for循环遍历文件夹,并筛选出文件夹,并使用echo命令输出文件夹名。其中,/path/to/folder为要遍历的文件夹路径。

该脚本中使用了管道符和awk命令,其中,ls -l /path/to/folder是列出文件夹的详细信息,grep “^d”是从中筛选出开头为d的行,即文件夹,awk ‘{print $NF}’是输出每行的最后一列,即文件夹名。

三、Shell读取文件夹下所有文件

#!/bin/bash
files=`ls /path/to/folder`
for file in $files
do
    content=`cat $file`
    echo "File: $file"
    echo "Content: $content"
done

该脚本使用ls命令读取文件夹下所有文件,在for循环中读取文件内容并输出。其中,/path/to/folder为要遍历的文件夹路径。

该脚本中使用了反引号将ls命令的输出结果赋值给files变量,并使用cat命令获取文件内容,输出文件名与内容。

四、Shell脚本遍历文件夹

#!/bin/bash
folder="/path/to/folder"
function list_files(){
    for file in `ls $1`
    do
        if [ -d $1"/"$file ]
        then
            list_files $1"/"$file
        else
            echo $1"/"$file
        fi
    done
}
list_files $folder

该脚本使用自定义函数递归遍历文件夹下所有文件,并使用echo命令输出文件路径。其中,/path/to/folder为要遍历的文件夹路径。

在该脚本中,使用if语句判断是否为文件夹,如果是则递归调用list_files函数,否则输出文件路径。

五、Shell遍历文件夹并提取文件名字

#!/bin/bash
folder="/path/to/folder"
files=`ls $folder`
for file in $files
do
    filename=`basename $file`
    echo "Filename: $filename"
done

该脚本使用ls命令读取文件夹下所有文件,在for循环中使用basename命令提取文件名并输出。其中,/path/to/folder为要遍历的文件夹路径。

basename命令可以从文件路径中提取出文件名。

六、Shell递归遍历文件夹

#!/bin/bash
folder="/path/to/folder"
for file in `find $folder -type f`
do
    echo "File: $file"
done

该脚本使用find命令递归遍历文件夹下所有文件,并使用echo命令输出文件路径。其中,/path/to/folder为要遍历的文件夹路径。

find命令是一种非常灵活的查找文件的工具,可以根据各种条件查找文件。

七、Shell文件夹下所有文件循环

#!/bin/bash
folder="/path/to/folder"
cd $folder
for file in *
do
    echo "File: $file"
done

该脚本使用cd命令进入文件夹,使用for循环遍历文件夹下所有文件并输出文件名。其中,/path/to/folder为要遍历的文件夹路径。

在for循环中,*通配符表示匹配所有的文件和文件夹。

八、Linux Shell遍历文件夹

#!/bin/bash
folder="/path/to/folder"
for file in $(ls $folder)
do
    echo "File: $folder/$file"
done

该脚本使用ls命令读取文件夹下所有文件,在for循环中输出文件路径。其中,/path/to/folder为要遍历的文件夹路径。

在for循环中,$(ls $folder)表示将ls命令的输出结果作为for循环的参数。

九、Shell脚本遍历文件夹并删除文件

#!/bin/bash
folder="/path/to/folder"
for file in `find $folder -type f` 
do
    rm -f $file
done

该脚本使用find命令递归遍历文件夹下所有文件,并使用rm命令删除文件。其中,/path/to/folder为要遍历的文件夹路径。

在for循环中,`find $folder -type f`表示返回所有的文件路径,-type参数指定只返回普通文件。

小结

Shell脚本可以通过多种方式遍历文件夹下所有文件,包括for循环、递归、find命令等。其中,find命令是一种非常灵活的查找文件的工具,可以根据各种条件查找文件。

原创文章,作者:GCVW,如若转载,请注明出处:https://www.506064.com/n/143851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
GCVWGCVW
上一篇 2024-10-24 15:26
下一篇 2024-10-24 15:26

相关推荐

  • Idea新建文件夹没有java class的解决方法

    如果你在Idea中新建了一个文件夹,却没有Java Class,应该如何解决呢?下面从多个方面来进行解答。 一、检查Idea设置 首先,我们应该检查Idea的设置是否正确。打开Id…

    编程 2025-04-29
  • vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常问题的解决

    本文旨在解决vue下载无后缀名的文件被加上后缀.txt,有后缀名的文件下载正常的问题,提供完整的代码示例供参考。 一、分析问题 首先,需了解vue中下载文件的情况。一般情况下,我们…

    编程 2025-04-29
  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • 为什么用cmd运行Java时需要在文件内打开cmd为中心

    在Java开发中,我们经常会使用cmd在命令行窗口运行程序。然而,有时候我们会发现,在运行Java程序时,需要在文件内打开cmd为中心,这让很多开发者感到疑惑,那么,为什么会出现这…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • Python将矩阵存为CSV文件

    CSV文件是一种通用的文件格式,在统计学和计算机科学中非常常见,一些数据分析工具如Microsoft Excel,Google Sheets等都支持读取CSV文件。Python内置…

    编程 2025-04-29
  • Python zipfile解压文件乱码处理

    本文主要介绍如何在Python中使用zipfile进行文件解压的处理,同时详细讨论在解压文件时可能出现的乱码问题的各种解决办法。 一、zipfile解压文件乱码问题的根本原因 在P…

    编程 2025-04-29
  • Python如何导入py文件

    Python是一种开源的高级编程语言,因其易学易用和强大的生态系统而备受青睐。Python的import语句可以帮助用户将一个模块中的代码导入到另一个模块中,从而实现代码的重用。本…

    编程 2025-04-29
  • Python遍历集合中的元素

    本文将从多个方面详细阐述Python遍历集合中的元素方法。 一、for循环遍历集合 Python中,使用for循环可以遍历集合中的每个元素,代码如下: my_set = {1, 2…

    编程 2025-04-29

发表回复

登录后才能评论