Unix에서 특수 문자 사이의 줄 제거

Unix에서 특수 문자 사이의 줄 제거

내 코드/텍스트 파일에서 /*와 사이의 모든 내용이 */주석 처리되어 있습니다. 내 텍스트/코드 파일에서 이 주석 처리된 코드를 제거해야 합니다.

$ cat codefile.txt
/*~BB~*************************************
asdasd
asdas
asdasd
asdas
asdad
*************************************/

/*
aasdas
asdsa
asdsa
*/

하지만 내가 사용할 때 :

sed -i '/^\/\*/,/*\*\//d'

슬래시 뒤/앞에 별이 하나만 있는 줄만 제거합니다. 즉, 두 번째 블록을 의미합니다.

첫 번째 것을 어떻게 없앨 수 있습니까?

답변1

아래 명령을 사용하면 잘 작동했으며 파일에 다른 내용을 삽입하여 테스트하기도 했습니다. /*와 */ 사이의 줄만 삭제합니다.


sed '/\/\*/,/\*\//d' filename

관련 정보