나는 오랜 시간 동안이 문제에 이미 귀찮습니다. 텍스트 파일의 문자열과 일치 시켜서 C- 주석을 제거해야합니다. 편집은 내부 또는 새 파일로 수행해야합니다 (mv 명령을 밀어서 이동시킵니다).Bash : 문자열을 찾아 그 주변에있는 c-commentary 기호를 제거하십시오. (바람직하게는 inplace edit)
/*
might be text here;
STRING_TO_MATCH
some text;
more text
maybe brackets (might be text and numbers 123);
*/
문자열을 쉽게 찾을 수 있지만 어떻게 주석을 제거 할 수 있습니까? 줄 수는 항상 같지 않습니다. 나는 제거가 욕심이 없어야하고 (변경되지 않아야하는 동일한 파일에있는 유사한 데이터가 있기 때문에) 이해할 수 없으며 전반적인 "패턴"은 여러 줄입니다. 원하는 출력 :
찾기 string_to_match 첫 */다음/* 및 제거 제는 다음 제거 이전 찾기 :
might be text here;
STRING_TO_MATCH
some text;
more text
maybe brackets (might be text and numbers 123);
나는 워크 플로가 같아야 같아요. 이 솔루션은 자동으로 또한 강타 - 아마추어에서 미리
/* STRING_TO_MATCH
some text;
more text
maybe brackets (might be text and numbers 123);
*/
큰 감사를 위해 일한다면
그것은 좋은 것입니다! SED에 성공하지 못했습니다. AWK 솔루션과 바보 증명 설명도 환영합니다. 인사말!