我有一个脚本,可以将多个子文件夹和存档中的所有文件搜索到 tar。我的脚本是
for FILE in `find . -type f -name '*.*'`
do
if [[ ! -f archive.tar ]]; then
tar -cpf archive.tar $FILE
else
tar -upf archive.tar $FILE
fi
done
Run Code Online (Sandbox Code Playgroud)
find 命令给了我以下输出
find . -type f -iname '*.*'
./F1/F1-2013-03-19 160413.csv
./F1/F1-2013-03-19 164411.csv
./F1-FAILED/F2/F1-2013-03-19 154412.csv
./F1-FAILED/F3/F1-2011-10-02 212910.csv
./F1-ARCHIVE/F1-2012-06-30 004408.csv
./F1-ARCHIVE/F1-2012-05-08 190408.csv
Run Code Online (Sandbox Code Playgroud)
但是FILE变量只存储路径的第一部分./F1/F1-2013-03-19,然后是下一部分160413.csv。
我尝试使用readwhile 循环,
while read `find . -type f -iname '*.*'`; do ls $REPLY; done
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误
bash: read: `./F1/F1-2013-03-19': not a valid …Run Code Online (Sandbox Code Playgroud)