我有兩個文件夾進行比較,但它不是那麼簡單,只是使用diff -r來做到這一點。FOR循環遍歷兩個文件夾
而不是差異,我使用一個小的條件函數。也許這個函數本身很重要,所以我會在這裏粘貼它。
function timeDiff() {
local time1="$(head -n 1 "$1")"
local time2="$(head -n 1 "$2")"
echo $time1
echo $time2
if (("$time1" < 60)) && (("$time2" < 60)); then
echo No comparision needed.
else
diff $1 $2
fi
}
現在。我有2個文件夾,他們目前看起來像這樣:
Folder name: 1 Folder name: 2
1.txt 1.txt
2.txt 2.txt
這裏是我眼中的鹽。第二個功能。它的目的是(可能含有僞代碼):
- 在通過這兩個文件夾循環迭代,採取的第一個文件
1.txt
,檢查是否有在第二個文件夾同名1.txt
一個文件,如果這樣做,運行timeDiff
函數,然後轉到下一個文件(1/2.txt``2/2.txt
)等等。
對於現在的第二個功能是這樣看:
function recuDiff() {
for file1 in $1 && file2 in $2
do
timeDiff $file1 $file2
done
}
我試了好幾次,但我似乎還沒有找到一種方法,至少運行與多個條件環...
@SandyElms:對不起,誤加了。原始代碼中沒有發生;) – dziki 2014-12-03 08:03:09
for循環中的'in'關鍵字不檢查目錄中是否存在文件。閱讀['bash'手冊頁](http://www.gnu.org/software/bash/manual/bashref.html#Looping-Constructs) – Jdamian 2014-12-03 08:08:27