Aşağıdaki komutu çalıştırdığımda:
> mkdir some_dir
> find /foo/bar/ -name '*.csv' -print0 | xargs -0 mv {} some_dir
Yüzlerce satır alıyorum:
mv: target `/foo/bar/XX.csv` is not a directory
Neden? Ben xargs yürütmek düşündüm:
mv /foo/barXX.csv some_dir
find
bulduğu her dosya için . Neler oluyor? Bu arada, bu zsh ile
Güncelleme:
Update1:
Denedim:
find /foo/bar/ -name '*.csv' -print0 | xargs -0 mv {} -t some_dir
ama sonra birkaç satır var:
mv: cannot stat `{}': No such file or directory
komutun dosyalarımı doğru şekilde taşıdığını düşünüyorum.
Update2:
Yalnız -t
kullanırken seçeneğe ihtiyacım yok gibi görünüyor mv
. Örneğin
> touch file1.txt
> touch file2.txt
> mkdir my_dir
> mv file1.txt file2.txt my_dir
iyi çalışıyor. -t
Kullanırken neden ihtiyacım var xargs
?