본문 바로가기
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
2018.08.26 00:03

리눅스 파일명 변경

조회 수 386

find와 grep을 이용해서 특정 디렉토리와 그 하위 디렉토리에서 특정 문자열이 포함된 파일을 찾을 수 있다. find 명령에 -type f 옵션으로 파일을 출력한 후 grep으로 찾으면 되겠다. 검색 범위는 지정한 디렉토리와 그 하위 디렉토리가 된다. 

 

현재 디렉토리와 그 하위 디렉토리에서 myfile이라는 문자열이 포함된 파일을 찾으려면

find ./ -type f | grep "myfile"

 

/etc 디렉토리에서 찾으려면

find /etc -type f | grep "myfile"

 

그렇게 찾은 파일을 rm 명령으로 지우고 싶으면

find /etc -type f | grep "myfile" | xargs rm

 

또는 역따옴표(`)를 이용해서

rm `find /etc -type f | grep "myfile"`

 

디렉토리를 찾고 싶으면 -type d라고 지정하면 된다. 

find ./ -type d

출처:[bash: find] 파일 찾기

http://bahndal.egloos.com/363294

 

 

 

우선, 파일 또는 디렉토리 하나의 이름을 바꾸고 싶으면 mv 명령을 이용하자. 아래의 예시를 보면 되겠다.

 

# 이름 변경: my_text.txt -> old_text.txt

mv my_text.txt old_text.txt

 

여러개의 파일이나 디렉토리에 대해 한꺼번에 이름을 바꾸고 싶다면 rename 명령을 이용하면 되겠다. 아래의 예시는 확장자가 txt인 파일에서 abc를 def로 바꾸는 경우이다.

 

# 확장자가 txt인 파일에서 abc를 def로 변경

rename 's/abc/def/' *.txt

 

만약 파일명이 abcd.txt라면 defd.txt로 바뀌게 된다.

 

만약 파일명이 abc_abc.txt라면 어떻게 될까? 처음 abc만 def로 바뀐다. 즉, def_abc.txt로 바뀐다. 같은 문자열이 반복될 경우 모두 바꾸고 싶다면, 즉 위의 예시에서 abc_abc.txt를 def_def.txt로 바꾸고 싶다면 아래와 같이 g 옵션을 쓰면 된다.

 

rename 's/abc/def/g' *.txt

 

-n 옵션을 사용하면 실제로 이름을 바꾸지는 않고, 어느 파일/디렉토리가 어떤 이름으로 바뀔 것인지만 화면에 출력해 준다. 실제로 바꾸면서 결과를 출력하고 싶으면 -v 옵션을 사용하자.

 

# 이름이 바뀔 파일과 바뀌게 될 결과만 출력(실제로 바꾸진 않음)

rename -n 's/abc/def/' *.txt

 

# 실제로 이름을 바꾸고, 바뀐 결과를 화면에 출력

rename -v 's/abc/def/' *.txt

 

find 명령과 xargs 명령을 조합해서 사용해도 편리하다. (find와 xargs 명령은 이전 게시물을 참고하자)

 

# abc가 포함된 디렉토리(-type d)를 찾아서 def로 변경

find -type d | grep abc | xargs rename 's/abc/def/'

 

출처:[bash: mv, rename] 파일/디렉토리 이름 바꾸기 (한개 또는 여러개 한꺼번에)

http://bahndal.egloos.com/468623

 

List of Articles
날짜 카테고리 제목 조회 수
2022.03.26 헤놀로지 나만의 비디오 서버 구축 Synology Video Station (시놀로지 비디오 스테이션) 나만의 비디오 서버 구축 Synolog... file 232
2022.03.26 헤놀로지 Xpenology (헤놀로지) VMware 가상 구축 VMware 헤놀로지 (Xpenology) 구... file 259
2021.05.11 헤놀로지 컴퓨터Adding Physical Disks to a Virtual Machine 디스크 가상 PC vmware 연결 (마운트) 방법 컴퓨터Adding Physical Disks to ... 172
2020.05.17 VMware Xpenology(헤놀로지) 가상머신에 시놀로지 DSM 설치하기 (Installing Synology DSM on a virtual machine) VMware Xpenology(헤놀로지) 가상... file 1026
2020.05.17 Synology DiskStation Manager DSM 6.1.7-15284 Synology DiskStation Manager DS... 1270
2020.05.16 헤놀로지 VMware Xpenology(헤놀로지) 가상머신 만들기(Creating a virtual machine) VMware Xpenology(헤놀로지) 가상... file 837
2019.11.27 헤놀로지 www.synology.com/ko-kr/releaseNote/VideoStation https://www.synology.com/ko-kr/... 169
2019.01.20 헤놀로지 VMware Xpenology(헤놀로지) 설치준비#2 : 부트로더(synology bootloader) 수정 1. OSFMount 설치 및 실행 OSFMou... file 990
2019.01.20 헤놀로지 VMware Xpenology(헤놀로지) 설치준비#1 : 시놀로지 시리얼 및 VM 맥주소 확인 1. 헤놀로지(시놀로지) 가상 시리... file 1559
2018.12.25 데이터베이스 psql -U postgres -d video_metadata -c "select (select path from video_file where id =video_file_id) from watch_status where uid= cd /volume2/XTRM_DSM/_VideoStat... 124
2018.12.25 스테이션 시놀로지 비디오스테이션 트랜스코딩 ffmpeg - 두번째 for f in /volume4/SERVER_E/_TEM... 284
2018.12.16 스테이션 시놀로지 MP4 자동 인코딩 스크립트 (Synology MKV to MP4 auto encoding script) 시놀로지 ffmpeg 인코딩 (Synolog... file 2818
2018.08.26 리눅스 리눅스 파일명 변경 find와 grep을 이용해서 특정 디... 386
2018.05.27 와이어샤크 Wiresshark Auto filter : 와이어샤크 자동실행 CMD 명령어, 와이어샤크 필터식 포함 자동실행 ───────────────────────────── X... 34614
2018.05.27 데이터베이스 RSS Backup (Download Station RSS Backup script) pg_dump -U postgres download -t... 88
2018.02.11 데이터베이스 Download Station Auto Delete - content psql -U postgres -d download -c... 84
2018.02.11 데이터베이스 Download Station Auto Delete su - postgres -c 'psql -U p... 102
2017.11.01 스테이션 동영상 연속 재생하기 (모바일 어플용) DS vidoe 어플 시청시, 동영상 연... file 651
2017.10.12 스테이션 동영상 연속 재생하기 (PC 인터넷용) PC 인터넷으로 시청시, 동영상 연... file 1051
2017.01.30 스테이션 DS video 동영상 화질 높이기 DS video 동영상 화질 높이기   ※... file 4580
Board Pagination Prev 1 2 Next
/ 2