我非常努力地想得到一个嵌套的for循环来处理这个问题,我正在处理的数据集非常大(略多于一百万个文件)。
我正在寻找一个嵌套的for循环,但它似乎不稳定。
count=0
for dir in $(find "$sourceDir" -mindepth 1 -maxdepth 1 -type d)
do
(
mkdir -p "$destDir/$dir"
for file in $(find . -type f)
do
(
if [ $((count % 3)) -eq 2 ]
then
cp -prl "$file" $destDir/$dir
fi
((count ++))
)
done
)
((count++))
done
^^这只是进入最后一个目录并找到第三个文件。我需要它进入每个目录并找到第三个文件
我曾想过将其分解为块,并运行多个脚本而不是一个脚本,以使其更具可伸缩性。
1条答案
按热度按时间7xllpg7q1#
多亏了评论者,我才能想出答案!!我的输入是一个有4个子文件夹的文件夹,在这4个子文件夹中,每个子文件夹都有12个文件。
我理想的输出是将每个第三个文件(从三个开始)硬链接到外部位置,并在它们的子目录中排序......所以类似于以下内容- subdirA(第三个文件硬链接,第六个文件硬链接,第九个文件硬链接,第十二个文件硬链接)subdirB(第三个文件硬链接,第六个文件硬链接,......)
......等等!!
以下是它的工作原理: