for i in *.jpg;
do
newname="$(echo $i|sed s/$i/ex$i)"; **띄어쓰기 쓰면 안됨**
(sudo) mv "$i" "$newname"; **강제 집행시 sudo**
done
한줄씩 뜯어보면
for i in *.jpg는 python과 비슷하다. .jpg를 갖는 모든 파일을 순서대로 i에 넣어줌.
터미널에서 변수에는 $를 꼭 붙여야 한다.
(ex)
i=1
echo i --> i출력
echo $i --> 1출력
(echo: print와 같은 함수)
sed s: 뒤에 나오는 첫 단어를 두번째 단어로 바꿔줌.
sed s/1/12 -> 1을 12로 바꿔줌.
해석해보면 $i를 sed s를 이용해 $i->ex$i로 바꿈. i=1일 경우, ex1이 echo에 의해 출력.
echo에 의해 출력된 값을 ""를 이용해 string으로 변환 후 newname에 저장.
이후 $i를 $newname으로 mv 해주면 폴더의 모든 .jpg파일을 원하는 값으로 변환히킬 수 있음.
'돈돈코딩' 카테고리의 다른 글
[Yolov6 리뷰 설명] 시스템 탑재를 위한 새로운 방법. (v7보다 좋은 것도 있음) (0) | 2022.10.17 |
---|---|
리눅스 터미널 쉘 명령어 for문과 if문을 함께 사용하기 전 알아야 할 것들 (0) | 2021.07.12 |
[리눅스 터미널 명령어] find로 원하는 파일들을 이름을 기준으로 모두 한번에 복사해오기. (0) | 2021.07.08 |
댓글