Linux

如何在bash腳本中將文件夾拆分為子文件夾

  • November 19, 2017

我有一個文件夾每秒連續接收 *.DAT 文件。我想將該文件夾拆分為兩個文件夾,其中父文件夾(我想拆分為兩個的文件夾)文件夾將以循環方式移動它在這兩個子文件夾中接收到的所有 *.DAT 文件。有沒有辦法通過 bash 腳本來做到這一點?

有你的腳本:

#!/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

您必鬚根據自己的情況對其進行修改,但它應該可以工作。

引用自:https://unix.stackexchange.com/questions/404683