파일 이동이나, 이름 변경은 mv라는 것은 알고 있습니다.
상황은 이런상황입니다.
err 디렉토리에 특정 몇파일을 동시에 다른 디렉토리(/home/user01/file/) 이동하려고 합니다.
aa.1
bb.2
cc.3
dd.4
ee.5
ff.6
위와 같이 여섯개의 파일이 있을 경우, aa.1, cc.3, dd.4, ff.6 을 이동시키려 합니다 어떻게 해야 하나요?
하나하나씩 옮기는 방법말고 한번에 파일 이름을 다 넣어서 할 수는 없나요?
mv aa.1 /home/user01/file/
보통 이렇게 해서 파일을 옮기잖아아요…ㅠㅠ
날씨도 꾸리구리 한데 좋은 하루 되세요…;
nuzl
2
[quote="fanta0614":34g0owfq]mv aa.1 /home/user01/file/[/quote:34g0owfq]
터미널열고 하신거면 하나 옮기고 화살표 위 키를 눌러서 화일명만 수정 해서 6번 하면 되지않을까요?
현재 디렉토리의 모든 화일 이라면 mv . /home/user01/file/ 라고 해줘도 됩니다
GUI 환경에서 쉽게 할수 있는 노티러스(탐색기)를 열어서 6개 선택 해서 ctrl+x 후 ctrl+v 로 붙여넣키 하는게 더 적절한 방법 이라 생각 됩니다
터미널 명령어로 동시에 여러개의 파일을 옮길 때에는
mv <file> <file> <file> <file> <Target:Folder>
가 됩니다.
mv aa01 bb02 cc03 dd04 abcd <- 상대경로
mv aa01 bb02 cc03 dd04 /home/user/abcd <- 절대경로
라고 하면 abcd라는 폴더로 앞의 네개의 파일이 옮겨지는겁니다.
단, 이 경우에는 파일을 옮길 폴더가 미리 존재하고 있어야 합니다.
그 외에는 정규표현식을 이용한 방법이 있는데 깊게 들어가면 복잡하니 GUI를 쓰시는게 더 간편하실겁니다.
bash를 사용할 경우 다음과 같은 명령도 가능합니다.
[code:3kzj954i]
ls /source/dir/
a b c d e
mv /source/dir/{a,b,c,d,e} /dest/dir
[/code:3kzj954i]
위의 답글이 모범이 될 것이구요…
전 추가해서
ls -ald .png /root/ | xargs -I{} mv {} mydir/
find / -iname ".png" | args -I{} mv {} mydir/
요런형태로 사용하시면 활용도가 높습니다
xargs에 -I옵션이 없으면 명령뒤에 줄줄이 붙입니다.
-I옵션이 붙으면 줄줄이 실행합니다(사실은 입력내용을 명령하는것이지만 효과는 그렇습니다).
그리고 사족이지만
옮기는것이 아니라 이름바꾸기를 위한것이라면
rename이라는 명령이 있습니다.
rename ‘s/(.*).png/\1-old.png/’ 요런식으로 말입니다.