파일명
Posts
3 posts[bash: curl] curl을 이용한 FTP 자동 접속 - 파일명 변경
우선, curl을 이용한 ftp 자동접속 방법의 기본적인 내용(파일 업로드/다운로드/삭제, 디렉토리 생성/삭제 등)은 이전 게시물을 참고하자. 여기로 업로드한 파일, 또는 이미 FTP서버에 존재하는 파일의 이름을 바꾸는 방법이다. FTP에서 이름을 변경하는 절차는 RNFR 명령으로 변경 대상 파일을 지정한 후에, RNTO 명령으로 새로운 이름을 설정하는 형태다. 여기서 파일명은 절대경로를 사용해야 함에 유의. curl의 -Q 옵션으로 이름 변경 명령어를 전달하면 된다. 아래의 예시를 보자. # /my_dir/documents/에 있는 my_file.dat를 my_file.mod.dat로 이름 변경 curl --user ftp_user -Q "RNFR /my_dir/documents/my_f
[bash: basename] 디렉토리는 제외하고 파일명만 추출하기
특정 파일에 대해 작업을 할 때, 해당 파일의 디렉토리는 제외하고 파일명만 추출해야 할 필요가 있는 경우가 생기면 basename으로 간편하게 해결할 수 있다. 아래의 예시를 보자. # /home/john/Documents/my_doc.txt에서 파일명만 추출 basename "/home/john/Documents/my_doc.txt" my_doc.txt 만약 파일명 맨 뒤에 있는 확장자를 제거하고 싶다면 -s 옵션을 추가해 주자. # .txt 확장자 제거 basename -s ".txt" "/home/john/Documents/my_doc.txt" my_doc 여러개의 인자를 사용하고 싶다면 -a 옵션을 사용하면 된다. basename -a "/home/john/Docum
[bash: read, while] 공백을 포함한 이름을 가진 파일들에 대한 반복 작업 - 2
예전에 for 반복문을 이용해서 여러 파일에 대한 반복작업을 하는 방식에 대해 쓴 적이 있다(여기로). 파일명에 공백이 포함된 상황을 해결하기 위해 임시 파일을 만들고 sed까지 동원해서 스크립트를 만들었는데, 그보다 훨씬 간편하고 우아한 방법이 있어서 정리해 두기로. 예전에 적었던 while 반복문을 이용한 텍스트 파일 한줄씩 읽기와 같은 방식으로 하면 된다. 파일을 읽는 것이 아니라 ls 또는 find 명령으로 얻은 파일명에 대해 작업을 해야 하므로 파이프(|)를 이용해서 ls나 find의 결과를 while 반복문으로 넘기고, 조건에 read 명령을 적용해서 한줄씩 받아온다. 설명으로는 복잡해 보이나, 예시를 보면 간단하다. 아래의 예시를 보자. find 명령으로 홈 디렉토리(~/) 하위에 있


