종종 필요했던 내용인데 정리하고 나중에 다시 찾지 않기 위해서 기록을 남긴다.
업무 중 cat으로 파일 내용을 출력하고 그 내용을 이용해서 명령어를 만들어야 할 필요가 있었는데, 이때 내용에 따옴표가 있어서 잘 사용하기가 어려웠다. ( 내용은 Web URL 이었다. )
그래서 따옴표를 없애려고 하는데, vim으로 열어서 삭제할 수 있었지만 바로 명령어 내에서 바꿀 방법이 없을까 싶었다.
이 때 내가 이용한 명령어는 sed (https://linux.die.net/man/1/sed) 이다.
아래 예시를 보면 어떻게 사용하면 될지 대충 감이 올 것이다. 실제로 변경하는 방식도 vim이랑 어느정도 유사하다.
아래와 같은 파일이 있다고 할 때, 나는 " 을 모두 없애고 싶었다.
$ cat 0913.test
"http://naver.com"
"google.com"
"hello_world"
"www.facebook.com"
"instagram"
아래와 같이 sed명령어로 cat 출력에서 따옴표를 제거 가능하며 실제 파일은 변경하지 않을 수 있다.
$ cat 0913.test | sed 's/\"//'
http://naver.com"
google.com"
hello_world"
www.facebook.com"
instagram"
그런데 그냥 이렇게 쓰면 왼쪽만 바뀌고 원하는 결과와는 조금 다르다.
아래처럼 명령어를 구성하면 모든 내용을 변경 가능하다.
$ cat 0913.test | sed 's/\"//g'
http://naver.com
google.com
hello_world
www.facebook.com
instagram
vim 에서 %s 를 사용해서 변경도 가능하지만 그냥 CLI 상에서 바로 바꾸고 싶을 때 적극 사용해 볼만한 command 라 생각한다.
'CS' 카테고리의 다른 글
[CS] 코드커버리지(Code coverage) 란? (0) | 2022.01.10 |
---|---|
[Linux/C++] main 함수에서 전달받는 argv 임의로 초기화 하는 방법 (0) | 2021.11.01 |
정규표현식 사용, 숫자 문자 포맷 체크하기 (0) | 2021.08.29 |
[Linux] vim editor 자동완성 활용하기 (0) | 2021.08.23 |
Terraform(테라폼) 클라우드 알아보기 (0) | 2021.07.11 |