sed - 정확히 3개의 콜론(인접하지 않음)이 포함된 행 찾기(및 편집)

sed - 정확히 3개의 콜론(인접하지 않음)이 포함된 행 찾기(및 편집)

파일에서 세 개의 콜론() 문자가 포함된 줄 끝에 일부 문자를 추가해야 합니다 :. 이 세 :문자는 인접하지 않습니다.

처음에 포함된 문자를 편집하는 데 필요한 줄은 다음 을 사용하여 성공적으로 찾아서 편집 /16할 수 있었습니다 .sed

sed "/\/16/ s/$/ ${runid} ${dirname} ${doc}/" $logname  > $logname.new

그러나 응용 프로그램이 변경되어 해당 문자가 /16더 이상 대상 줄에 나타나지 않습니다. 지금 찾을 수 있는 유일한 방법은 정확히 세 문자가 포함된 줄을 찾는 것입니다 :.

답변1

노력하다

sed "s/^[^:]*:[^:]*:[^:]*:[^:]*$/s/$/ ${runid} ${dirname} ${doc}/" $logname  > $logname.new

어디

  • [^:]*콜론이 아닌 기호 수 제한 없음
  • ^$줄의 시작과 끝입니다 .

골퍼일 수도 있습니다.

관련 정보