我实现了一个 bash 脚本或者读取了两个输入文件。我希望我读取的两个文件夹同时增加各自的文件。
我的例子是:
for folder1 in $in1/*;
do
for folder2 in $in2/*;
do
file1=`basename "$folder1`
file2=`basename "$folder2"`
done
done
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以让for循环同时递增?
我提前谢谢你
一种选择是将文件名存储在一对数组中:
#!/bin/bash
first=( "$in1"/* )
second=( "$in2"/* )
for i in "${!first[@]}"; do
first_file=${first[i]}
second_file=${second[i]}
done
Run Code Online (Sandbox Code Playgroud)
"${!first[@]}"扩展到第一个数组中的键列表,因此i将采用值0、1、2等。
如果您的数组长度不等,您将必须决定如何处理它。此外,每个数组中的文件将按字母顺序排列。