当我运行以下命令时:
> mkdir some_dir
> find /foo/bar/ -name '*.csv' -print0 | xargs -0 mv {} some_dir我有几百行台词说:
mv: target `/foo/bar/XX.csv` is not a directory为什么?我以为xargs会执行:
mv /foo/barXX.csv some_dir对于find找到的每一个文件。到底怎么回事?顺便说一下,这是和zsh一起的
我试过:
find /foo/bar/ -name '*.csv' -print0 | xargs -0 mv {} -t some_dir但我有几句台词:
mv: cannot stat `{}': No such file or directory尽管我认为命令正在正确地移动我的文件。
单独使用-t时,我似乎不需要使用mv选项。例如
> touch file1.txt
> touch file2.txt
> mkdir my_dir
> mv file1.txt file2.txt my_dir效果很好。为什么我在使用-t时需要xargs?
发布于 2015-03-04 11:11:30
您还可以使用ls命令而不是find命令:
ls /foot/bar/*.csv | xargs mv -t some_dirhttps://unix.stackexchange.com/questions/83711
复制相似问题