Linux 환경에서 여러 simulation 파일을 만들고 돌리다 보면 여러개의 파일에서 텍스트를 변경해야할 때가 있습니다. 똑같은 인풋 환경과 시뮬레이션 환경에서 특정 회로만 바꾸려고 할 수도 있고, 혹은 여러 개의 시뮬레이션 파일에서 vdd, temperature 등 특정 환경만 바꾸려고 할때죠. 이 때 여러개의 파일을 하나씩 열어서 바꾸다 보면 시간이 많이 소요될 뿐만 아니라, 빼먹게 되는 human error 가 발생할 수도 있죠.
sed -i 's/(바꾸고 싶은 단어)/(바꾸려는 단어)/g' (파일이름)
여러 개의 파일 내에서 텍스트를 바꾸기 위해 사용하는 명령어로는 sed 구문이 있습니다. 바로 위와 같은 구문을 사용하면 되죠. 아래에서 예를 들어보겠습니다.
**a.sp
.param vdd=1.2
.inc "./input_file"
.temp 25
-------------------------------------------------------------------
**b.sp
.param vdd=1.2
.inc "./input_file"
.temp -40
-------------------------------------------------------------------
**c.sp
.param vdd=1.2
.inc "./input_file"
.temp 100
위와 같이 특정 경로에 a.sp , b.sp , c.sp 3개의 파일이 있다고 합시다. 위 3개의 파일에서 vdd 만 전부 바꿔봅시다. Linux 에서는 아래와 같이 명령어를 치면 돼죠.
sed -i 's/vdd=1.2/vdd=0.9/g' *.sp
위와 같이 sed 구문을 사용하면 됩니다. 맨 끝에 *.sp 을 선언하면 됩니다. 이렇게 선언하면 .sp 로 끝나는 모든 파일에 위 바뀌는 구문이 적용되죠.
**a.sp
.param vdd=0.9
.inc "./input_file"
.temp 25
-------------------------------------------------------------------
**b.sp
.param vdd=0.9
.inc "./input_file"
.temp -40
-------------------------------------------------------------------
**c.sp
.param vdd=0.9
.inc "./input_file"
.temp 100
sed 구문을 먹이고 나면 위와 같이 sp 파일이 바뀌어있는걸 확인할 수 있습니다. 이상입니다.
반응형
'시뮬레이션 > vi 명령어' 카테고리의 다른 글
vi 명령어 응용 : exe 파일 만들어서 여러 단어 검색해서 지우기 (1) | 2024.02.16 |
---|---|
리눅스 기본 명령어 : 문자열 검색 & 대체하기 (0) | 2024.02.07 |