답변:
당신은 시도 할 수 있습니다
find . -maxdepth 1 -type f -exec mv {} destination_path \;
-exec
나는 "모든 것에 망치를 사용한다"일종의 사람이기 때문에 다른 사람들이 외부 프로그램을 사용하는 것을 위해 본 쉘 프로그램을 사용한다.
for file in * .*
do
test -f "$file" && mv "$file" "$HOME"/
done
어떤 사람들은 가능한 한 적은 타이핑으로 일을하고 싶어하지만 꽤 빠른 타이피스트이고 뇌에 내장 된 물건을 가지고 있기 때문에 정확한 것을 찾는 대신이 작업을 수행하는 것이 너무 고통스럽지 않습니다. 찾아서 실행하고 모든 것을 주장합니다.
하지만 YMMV는 ...
@Mereghost는 매우 가깝습니다. 다음은 디렉토리가 아닌 모든 파일 (숨겨진 파일 포함)을 이동시키는 것입니다.
find . -maxdepth 1 -type f -name '*' -exec mv -n {} /destination_path \;
.
이후의 발견은 현재 디렉토리 이동하려는 파일의 소스입니다 가정합니다. 그렇지 않은 경우 다음과 같이 명령을 수정할 수 있습니다.
find /source_path -maxdepth 1 -type f -name '*' -exec mv -n {} /dest_path \;
숨겨진 파일이 아닌 일반 파일 만 이동하려는 경우 :
find . -maxdepth 1 -type f -name '[!.]*' -exec mv -n {} /dest_path \;
일반 파일이 아닌 숨겨진 파일 만 이동하려는 경우 :
find . -maxdepth 1 -type f -name '.*' -exec mv -n {} /dest_path \;
당신은 찾기를 사용할 수 있습니다
find * -maxdepth 1 -type f -exec mv {} ~ \;
mv`find ./sourcedir/* -type f` ./destdir
find
의 -exec
옵션을 사용 하는 것이 문제를 피하는 가장 좋은 방법입니다.