我想運行下面的腳本,並從特定模式的名稱從源文件複製文件到工作。cygwin cp不能stat文件
#!/bin/bash
(set -o igncr) 2>/dev/null && set -o igncr; # this comment is required
SOURCE="D:/backup/"
WORKING="D:/copyFromHere/"
Copy_Pattern="P0689\|P1391\|P0730"
for FILE in $(find "$SOURCE" `ls -Rl "$SOURCE" | egrep '^d' | awk '{print $9}'` -print
2>/dev/null | grep "$COPY_PATTERN" |sed 's/_[0-9]\+//' | uniq);
do
cp -f "FILE" "$WORKING";
done;
我在Windows上運行它在cygwin上。
但我得到以下錯誤 CP無法統計文件沒有這樣的文件或目錄
請幫我搞清楚了這一點。
感謝, 湯姆
我在$中執行了FILE(找到「$ SOURCE」'ls -Rl「$ SOURCE」| egrep'^ d'| awk'{print $ 9}''-print 2>/dev/null | grep「$ COPY_PATTERN 「| sed's/_ [0-9] \ + //'| uniq);在上面的步驟 – tom
是的,你在for循環中使用了文件,但實際** USE ** $ FILE變量,你必須使用它作爲'$ FILE'。 ''FILE''本身就是一個包含'F','I','L'和'E'的字符串,而不是在循環中分配給$ FILE的文件名。 –