$ 1如何在此命令中工作?我找不到任何关于这在任何地方做什么的例子或文档。这来自一个问题'删除当前工作目录中的所有文件扩展名。'
find `pwd` -type f -exec bash -c 'mv "$1" "${1%.*}"' - '{}' \;
答案 0 :(得分:6)
find
要执行的字符串是
bash -c 'mv "$1" "${1%.*}"' - '{}'
对于找到的每个文件,find
将使用找到的文件的路径名替换{}
:
bash -c 'mv "$1" "${1%.*}"' - '/path/to/filename.ext'
然后 bash
执行mv "$1" "${1%.*}"
,$0
设置为-
(使其成为登录shell),$1
设置为/path/to/filename.ext
。在应用替换后,这导致
mv /path/to/filename.ext /path/to/filename
注意:find `pwd`
是一种复杂的说法find .
。