迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中查找文件大小

作者:迹忆客 最近更新:2023/05/30 浏览次数:

如果您正在创建一个可以将文件从一个位置传输到另一个位置的 Bash 脚本,您可能需要知道您正在处理的文件的大小。

在 Bash 脚本中,有几种方法可以找到文件的大小。 本文将展示如何通过 Bash 查找文件的大小。

我们将在这里讨论三种不同的方法,您可以根据自己的需要选择最合适的一种。 此外,我们将看到必要的示例和解释,以使主题更容易理解。


使用 ls 关键字在 Bash 中查找文件大小

我们可以使用 Bash 的内置命令来查找文件的大小,也就是关键字 ls。 通过此关键字,您可以按照以下示例查找文件的大小:

ls -lh Test.txt | awk '{print  $5}'

运行此命令后,您将获得如下所示的输出:

99

上面,我们分享了这种方法的一个非常简单的格式。 在下面的示例中,我们将分享一种有组织的方式来找出文件大小。

更新的示例是:

echo "Enter the directory or name of the file:"
read File
FileSize=$(ls -lh $File | awk '{print  $5}')
echo "$File has a size of $FileSize"

在上面的示例中,我们从用户输入中获取文件名,然后提供文件大小作为输出。

运行此示例后,您将获得以下输出:

Enter the directory or name of the file:
Test.txt
Test.txt has a size of 99

在 Bash 中使用 wc 关键字查找文件大小

Bash 中另一个可用于查找文件大小的关键字是 wc。 下面分享了使用此命令的最简单方法:

wc -c Test.txt

执行上述命令后,您将获得以下输出:

99 Test.txt

现在我们将介绍一个高级示例。 在我们下面的示例中,我们将为用户提供一个选项来选择文件大小格式。

我们的高级示例包含以下代码。

echo "Select the FORMAT for the size:"
echo """
        1. Bytes
        2. KiloBytes
        3. MegaBytes
        4. GigaBytes
     """
echo "--------------------------------------------------------"
read FORMAT

echo "Provide the Filename or Directory: "
read FILE
FileSize=$(wc -c $FILE | awk '{print $1}')
if [[("$FORMAT" == 1)]];
then
    echo "$FILE is approx $FileSize Bytes"
elif [[("$FORMAT" == 2)]];
then
    kb=$(bc <<<"scale=3; $FileSize / 1024")
    echo "$FILE is approximately $kb KB"
elif [[("$FORMAT" == 3)]];
then
    mb=$(bc <<<"scale=6; $FileSize / 1048576")
    echo "$FILE is approximately $mb MB"

elif [[("$FORMAT" == 4)]];
then
    gb=$(bc <<<"scale=12; $FileSize / 1073741824")
    echo "$FILE is approximately $gb GB"
else
    echo "Incorrect FORMAT."
    exit
fi

在上面的示例中,我们首先向用户提供一个选项并读取用户输入。 在下一部分中,我们采用用户输入的文件名。

之后,我们根据用户选择转换文件大小并提供结果。

运行此代码时,您将获得以下输出:

Select the FORMAT for the size:

        1. Bytes
        2. KiloBytes
        3. MegaBytes
        4. GigaBytes

--------------------------------------------------------
1
Provide the Filename or Directory:
Test.txt
Test.txt is approx 99 Bytes

在 Bash 中使用 stat 关键字查找文件大小

我们的最后一个方法将引入 Bash 中的另一个内置关键字 stat。 该关键字主要提供与文件相关的所有必要信息。

查找文件大小的最简单方法如下:

stat Test.txt

上面共享的单行命令将为您提供文件大小和其他详细信息,如姓名、出生等。执行上面的命令后,您将获得以下输出:

  File: Test.txt
  Size: 99              Blocks: 0          IO Block: 4096   regular file
Device: 11h/17d Inode: 281474976715600  Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/  aminul)   Gid: ( 1000/  aminul)
Access: 2022-08-04 14:57:18.556623600 +0600
Modify: 2022-08-04 14:45:27.259462300 +0600
Change: 2022-08-04 14:45:27.259462300 +0600
 Birth: -

上面共享的示例包含一些关于文件的不必要信息。 但在下面的示例中,您可以消除这些。

我们关于此方法的下一个更新代码如下:

echo "Enter the path or directory: "
read FilePath
FileSize=$(stat -c %s $FilePath)
echo "$FilePath is precise $FileSize bytes."

执行上面的示例代码后,您将得到以下输出:

Enter the path or directory:
Test.txt
Test.txt is precise 99 bytes.

请注意 ,本文中使用的所有代码都是用 Bash 编写的。 它只能在 Linux Shell 环境中运行。

上一篇:在 Bash 中删除空行

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Bash 中删除空行

发布时间:2023/05/31 浏览次数:111 分类:操作系统

使用文件时,您可能需要在显示文件之前从文件中删除空行。 在 Bash Script 中,有几种方法可以从文件中删除空行。在 Bash 中删除空行的文件

在 Bash 中递归查找文件

发布时间:2023/05/31 浏览次数:195 分类:操作系统

这篇文章是关于 Bash 中的 find 命令的。 本文将讨论在 Bash 中使用 find 命令查找特定类型文件的方法。在 Bash 中使用 find 命令递归查找文件 用于导航文件层次结构的命令行工具是 Linux 中的 find

在 Bash 中将文件读入变量

发布时间:2023/05/31 浏览次数:165 分类:操作系统

本文将展示我们如何在变量中获取文件。 此外,我们将看到必要的示例和适当的解释,以使主题更容易理解。要保存到变量中的文本文件

在 Bash 中检查文件是否为空

发布时间:2023/05/31 浏览次数:74 分类:操作系统

通常需要检查文件是否为空,幸运的是,有一些简单的方法可以在终端上使用 Bash 或什至使用 Bash 脚本来检查。在 Bash 中使用带有 -s 选项标志的测试命令来检查文件是否为空

使用 Bash 打开 HTML 文件

发布时间:2023/05/31 浏览次数:192 分类:操作系统

在本文中,我们将了解如何在 Mac 上使用 Bash 使用默认浏览器打开 HTML 文件。使用 Bash 打开 HTML 文件 要打开 .html 文件,首先,我们需要创建一个扩展名为 .html 的文件名。

Bash 覆盖 File

发布时间:2023/05/31 浏览次数:102 分类:操作系统

在这篇 bash 文章中,我们将学习如何在 Linux 中覆盖文件。 为此,我们将学习使用 Linux 操作系统在 bash 中覆盖文件的不同方法和 Linux 命令。

在 Bash 中写入文件

发布时间:2023/05/20 浏览次数:100 分类:操作系统

本篇文章将让我们探索在 bash 中编写文件的不同方法。 可以根据需要追加或覆盖文件。 让我们看看我们该怎么做。在 Bash 中写入/覆盖文件的不同方法

在 Bash 中终止进程

发布时间:2023/05/20 浏览次数:141 分类:操作系统

本文将首先讨论与 Linux 进程相关的不同概念。 在此之后,我们将学习终止进程的不同方法。在进入 kill 命令之前,我们必须了解一些初步概念。简单过程与 Bash 过程

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便