sed를 사용하여 패턴으로 시작하고 세미콜론 (;
)으로 끝나는 코드 (단락)의 일부를 삭제하고 싶습니다. sed를 사용하여 코드 패턴을 삭제 하시겠습니까?
sed -e '/./{H;$!d;}' -e 'x;/Pattern/!d'
내가 아닌 구분 기호로 대신 패턴으로 세미콜론을 사용하는 방법에 대해 혼란 스러워요에 의해 분리 된 단락을 삭제하는 예를 건너 왔어요. 감사합니다. .
sed를 사용하여 패턴으로 시작하고 세미콜론 (;
)으로 끝나는 코드 (단락)의 일부를 삭제하고 싶습니다. sed를 사용하여 코드 패턴을 삭제 하시겠습니까?
sed -e '/./{H;$!d;}' -e 'x;/Pattern/!d'
내가 아닌 구분 기호로 대신 패턴으로 세미콜론을 사용하는 방법에 대해 혼란 스러워요에 의해 분리 된 단락을 삭제하는 예를 건너 왔어요. 감사합니다. .
다른 옵션은 주소 범위의 GNU 확장을 사용하는 것입니다.
다음 예제는 다음을 의미합니다. 패턴으로 시작하는 줄의 모든 항목을 세미콜론으로 끝날 때까지 삭제하십시오.
sed '/pattern/,/;$/ d' infile
편집은 거친의 댓글을 :
다음 sed
명령을 시도해보십시오
sed '/^\s*LOG\s*(.*;\s*$/ d ; /^\s*LOG/,/;\s*$/ d' infile
설명 :
/^\s*LOG\s*(.*;\s*$/ d # Delete line if begins with 'LOG' and ends with semicolon.
/^\s*LOG/,/;\s*$/ d # Delete range of lines between one that begins with LOG and
# other that ends with semicolon.
이 당신을 위해 작동 될 수 있습니다
cat <<! >file
> a
> b
> ;
> x
> y
> ;
> !
sed '/^[^;]*$/{H;$!d};x;s/;//;/x/!d' file
x
y
설명 : 회선에서
;
에없는 것이 /^[^;]*$/
{H;$!d}
/^$/
또는 파일의 마지막 줄 경우 : x
x
을)에 대한 첫 번째 ;
s/;//
/x/!d
NB 패턴 /x/
을 발견하면 시작 패턴 사용 /^x/
을 찾을 수 있습니다.
편집 :
데이터와 예상 결과를 본 한 후이 당신을 위해 작동 할 수 있습니다
sed '/^\s*LOG(.*);/d;/^\s*LOG(/,/);/d' file
감사합니다. 그것은 나의 의심을 해결합니다. – Harsh
예를 들어 데이터와 경험치를 보여주십시오 결과를 분석합니다. – potong
예, 확실한 입력, http://pastebin.com/hHXJjtiS – Harsh