Bash
查找命令中的變數設置為 bash 中的新變數
是否有可能做這樣的事情:
inputNum="$1" files=($(find /dir/to/check -mtime $inputNum))
基本上這個想法是我可以使用輸入參數來設置查找文件的天數並將其設置為變數數組。我不確定在 bash 中使其可讀的語法。
的輸出
find
不能可靠地進行後處理,除非您使用-print0
而不是要對文件路徑的輸出進行後處理
find -print0
並將其儲存在數組中:使用 bash4.4+:
readarray -td '' files < <(find /dir/to/check -mtime "$inputNum" -print0)
對於舊版本:
files=() while IFS= read -rd '' file; do files=("${files[@]}" "$file") done < <(find /dir/to/check -mtime "$inputNum" -print0)
更一般地說,您需要閱讀以下建議:為什麼循環查找的輸出是不好的做法?