Find
“-bash: {}: 沒有這樣的文件或目錄”使用 find exec
我正在嘗試執行
find . -name "binaries.tgz.*.gz" -exec gzip -d -k < {} \;
(最終我正在嘗試執行find . -name "binaries.tgz.*.gz" -type f -exec gzip -d -k < {} \; | tar tzf -
,但我試圖弄清楚為什麼管道之前的命令首先不起作用),但我收到以下錯誤:
-bash: {}: No such file or directory
:[user@host:/data/dionaea]$ find . -name "binaries.tgz.*.gz" -type f -exec gzip -d -k < {} \; -bash: {}: No such file or directory [user@host:/data/dionaea]$ ls | grep binaries binaries binaries.tgz binaries.tgz.10.gz binaries.tgz.11.gz binaries.tgz.12.gz binaries.tgz.13.gz binaries.tgz.14.gz binaries.tgz.15.gz binaries.tgz.16.gz binaries.tgz.17 binaries.tgz.17.gz binaries.tgz.18.gz binaries.tgz.19.gz binaries.tgz.1.gz binaries.tgz.20.gz binaries.tgz.21.gz binaries.tgz.22.gz binaries.tgz.23.gz binaries.tgz.24.gz binaries.tgz.25.gz binaries.tgz.26.gz binaries.tgz.27.gz binaries.tgz.28.gz binaries.tgz.29.gz binaries.tgz.2.gz binaries.tgz.30.gz binaries.tgz.3.gz binaries.tgz.4.gz binaries.tgz.5.gz binaries.tgz.6.gz binaries.tgz.7.gz binaries.tgz.8.gz binaries.tgz.9.gz
我究竟做錯了什麼?
在你的命令下
find . -name "binaries.tgz.*.gz" -exec gzip -d -k < {} \;
在
< {}
執行之前由 shell 解釋find
。採用
find . -name "binaries.tgz.*.gz" -exec gzip -d -k {} \;
提取所有文件並保留原始文件。
你可以試試
find . -name "binaries.tgz.*.gz" -type f -exec gzip -d -c {} \; | tar tzf -
提取到標準輸出,但您不能確定文件是否會
find
以正確的順序處理。