我需要获取添加到主文件夹的文件列表,并仅将新文件复制到相应的备份文件夹;每个文件夹的路径有多个文件夹,所有文件夹都以数字命名,并且只有 1 级深度。
ie /tester/a/100
/tester/a/101 ...
diff -r
在生成的 diff.txt 文件中的每行 通常返回“仅在 /testing/a/101: 2093_thumb.png ”。
NOTE: there is a space after the colon
我需要将路径和文件名中的101获取到单独的变量中,并将它们复制到备份文件夹中。
我需要获取 lesserfolder var 以获取101 而不使用冒号和 mainfile var 以从diff.txt 的每一行获取 2093_thumb.png 并执行 for 循环,但我似乎无法获得$file
行为。每次我尝试测试以回显变量时,我都会得到所有错误的结果。
#!/bin/bash
diff_file=/tester/diff.txt
mainfolder=/testing/a
bacfolder= /testing/b
diff -r $mainfolder $bacfolder > $diff_file
LIST=`cat $diff_file`
for file in $LIST
do
maindir=$file[3]
lesserfolder=
mainfile=$file[4]
# cp $mainfolder/$lesserFolder/$mainfile $bacfolder/$lesserFolder/$mainfile
echo $maindir $mainfile $lesserfolder
done
如果我能让echo
声明生效,cp
那么也可以。