hav*_*kok 2 command-line xargs cp exec
我正在关注这个问题,尽管这里的一些文件名在文件名开头包含破折号。这被解释为 的附加选项cp
。
在另一个问题(关于 ServerFault)之后,我尝试将命令更改为:
shuf -zn8 -e *.jpg | xargs -0 cp -vt -- {} target/
Run Code Online (Sandbox Code Playgroud)
或者
shuf -zn8 -e *.jpg -exec cp -vt -- {} target/
Run Code Online (Sandbox Code Playgroud)
无济于事。如何处理-
文件名的开头部分?
看起来它shuf
并不是cp
在处理以破折号开头的文件名。尝试将双破折号添加到shuf
命令中:
shuf -zn8 -e -- *.jpg | xargs -0I{} cp -vt -- "{}" target/
Run Code Online (Sandbox Code Playgroud)
我会用find
这个,而不是shuf
:
find . -type f -name '*.jpg' -print0 | xargs -0I{} cp "{}" target/
Run Code Online (Sandbox Code Playgroud)
cp
此外,在这种情况下,您不需要双破折号,因为find
将返回带有前缀的文件名./
。
归档时间: |
|
查看次数: |
994 次 |
最近记录: |