local文件树:
../pdf/Insurance.January.2020.pdf
../pdf/Insurance.February.2020.pdf
../pdf/Provider1.March.2020.pdf
../pdf/Provider2.April.2020.pdf
远程文件树:
../invoice/Insurance/2019/*.pdf
../invoice/Insurance/2020/*.pdf
../invoice/Provider1/.....
我想要的是:我想通过匹配Name
,Year
以及Month
之类的模式来与远程文件夹同步本地PDF文件。
我以为我可以使用for循环和案例陈述来解决这个问题:
for FILE in "./*.pdf"; do [[ ! -f "$FILE" ]] && continue # check if $FILE is a file FILENAME=${FILE##*//} # cut only filename case "$FILENAME" in [Ii]nsurance*) # matching pattern in filename rsync command ;; Provider1*) rsync command ;; ... ... esac done
但是现在我认为这不是最快的方法,因为我必须写很多行才能找到匹配项。而且我还需要“重新匹配”
Year
和Month
。
还有其他想法吗?谢谢!
本地文件树:../ pdf / Insurance.January.2020.pdf ../pdf/Insurance.February.2020.pdf ../pdf/Provider1.March.2020.pdf ../pdf/Provider2。 April.2020.pdf远程文件树:../ invoice / Insurance / ...
假设文件名中没有换行符。