bash - 如何将目录文件列表存储到数组中?

标签 bash shell

我正在尝试将文件列表存储到一个数组中,然后再次遍历该数组。 以下是我从控制台运行 ls -ls 命令时得到的结果。

total 40
36 -rwxrwxr-x 1 amit amit 36720 2012-03-31 12:19 1.txt
4 -rwxrwxr-x 1 amit amit  1318 2012-03-31 14:49 2.txt

我编写的以下 bash 脚本用于将上述数据存储到 bash 数组中。

i=0
ls -ls | while read line
do
    array[ $i ]="$line"        
    (( i++ ))
done

但是当我 echo $array 时,我什么也得不到!

仅供引用,我以这种方式运行脚本:./bashscript.sh

最佳答案

我会用

files=(*)

然后如果您需要有关文件的数据,例如大小,请使用 stat每个文件上的命令。

关于bash - 如何将目录文件列表存储到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9954680/

相关文章:

linux - 将 laravel 添加到路径(Linux Mint 18.2 sonya)

linux - 在 bash 中按整数序号发出字符(或多字节二进制字符串)

shell - 在 hadoop 文件系统中创建目录

macos - 如何使用cat命令获取文件的最后一行

linux - Linux下如何分别压缩多个文件夹

c++ - 在 macOS 上安装 libsodium

regex - 如何在 shell 脚本中对没有边界的表达式进行着色

c - 从脚本调用带有两个参数的 C 可执行文件

c++ - 从 ruby​​ 运行 C++ 程序

linux - 如何在没有空格的情况下打印 awk?