我有一个文件夹每秒连续接收 *.DAT 文件。我想将该文件夹拆分为两个文件夹,其中父文件夹(我想拆分为两个的文件夹)文件夹将以循环方式移动它在这两个子文件夹中收到的所有 *.DAT 文件。有没有办法通过 bash 脚本来做到这一点?
答案1
有你的脚本:
#!/bin/bash
# enter the source dir
cd /tmp/a
# set initial subdir
subdir="b"
# run forever
while true
do
# get first available *.DAT file
newfile=`ls -1 *.DAT 2>/dev/null | head -n1`
if [ "$newfile" != "" ]
then
# if the .DAT file exists, move it
mv ./$newfile /tmp/$subdir/
# replace subdir for next loop iteration
if [ "$subdir" == "b" ]
then
subdir="c"
else
subdir="b"
fi
else
# nothing found, wait 1 second
sleep 1
fi
done
我使用平面结构进行测试
/tmp/a # source dir
/tmp/b # destdir 1
/tmp/c # destdir 2
你必须根据你的情况修改它,但它应该有效。