Search
Duplicate

char파일이름을 ascii파일이름으로 바꾸기

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
Shell
Linux
Scrap
태그
9 more properties
일러스트로 font asset작업을하고, 각 char에 맞게 이름을 지정해서 저장해 두었다.
이제 문자열을 받아서 각 char에 맞는 이미지를 화면에 띄워주기만 하면 끝이였다.
프로그램 내부 void *img[127] 변수에 font이미지들을 미리 저장해두는 구조로 설계하였다. 이 때, 우리가 가지고 있는 png파일들을 판단해서 각 charascii값 위치에 넣어주고 싶었다.
원하는 결과물은 오른쪽과 같은 형태였다.
그래서 고민 하다가 파일 이름을 ascii값으로 바꿔주면 내부에서 "ascii".png 파일을 가져올 때, "ascii"에 해당하는 부분의 idx위치에 저장해두면 쉽겠다고 생각했다.
하지만 일러스트로 작업할 당시에는 파일이름을 ascii값으로 해야하는지 몰랐는 데다가 알았다고 해서 아스키값으로 파일이름을 만든다면 직관적으로 어떤 파일들을 작업했는지 알 수 없었다.
그래서 미리 "char".png로 만들어둔 파일들을 shell script를 활용해서 "ascii".png파일로 바꿔볼 것이다

shell script를 활용해서 "char".png파일을 "ascii".png로 변경해보자

아래 코드를 사용하면 된다.
for file in *.png do basename $file .png | \ od -An -tuC | \ sed s/10//g | \ tr -d ' ' | \ tr -d '\n' | \ xargs -I % mv $file %.png done
Shell
복사
.sh파일을 만들지 않고 command line에서 바로 하는 방법도 있다.
for file in *.png; do basename $file .png | od -An -tuC | sed s/10//g | \ tr -d ' ' | tr -d '\n' | xargs -I % mv $file %.png ; done
Shell
복사