任何想法如何移動未使用任何進程使用bash腳本支持通配符的文件?移動未使用的文件
基本概念是:
for file in $1..$n-1
if ! fuser file
mv file $n
其中$1..$n-1
是源文件/目錄和$n
是目標路徑。
編輯:工作腳本
#!/bin/bash
# Move files which are not open by any process
dest=${@:$#} # get last arg
for file in "${@:1:$#-1}"; do # get all but last args
fuser "$file" >/dev/null 2>&1 && continue
mv "$file" "$dest"
done
感謝您的幫助傢伙!
EDIT2 該腳本存在一個錯誤,在某個目錄下使用的文件沒有被fuser檢查。稍後會檢查。
具體什麼被認爲是 「未使用」 文件中的標準是什麼? –
不能通過任何其他進程打開,可以使用'fuser'命令進行檢查。 – null