다음 명령을 실행할 때 :
> 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와 함께합니다.
최신 정보:
업데이트 1 :
나는 시도했다 :
find /foo/bar/ -name '*.csv' -print0 | xargs -0 mv {} -t some_dir
그러나 다음과 같은 몇 줄이 있습니다.
mv: cannot stat `{}': No such file or directory
명령이 내 파일을 올바르게 이동한다고 생각합니다.
업데이트 2 :
혼자 -t
사용할 때 옵션 이 필요하지 않은 것 같습니다 mv
. 예를 들어
> touch file1.txt
> touch file2.txt
> mkdir my_dir
> mv file1.txt file2.txt my_dir
잘 작동합니다. 사용할 -t
때 왜 필요 xargs
합니까?