sed/awk 파일 데이터 작업

sed/awk 파일 데이터 작업

다음과 같은 숫자가 앞에 오는 텍스트 파일이 많이 있습니다.

12 some text here
some text here
some text here

또는 때로는 다음과 같습니다.

123 text here

some more not-so-interesting text here

some text here

even more not-so-interesting text here

다음과 같이 보이도록 해야 합니다.

12

some text here
some text here
some text here

sed나 awk 또는 일부 명령줄 도구를 사용할 수 있습니까? 해당 줄의 다른 텍스트와 분리된 새 줄에 숫자를 입력하면 됩니다.

답변1

해당 숫자를 기억하고 그 뒤의 공백을 개행 문자로 바꾸세요.

sed 's/^\([0-9][0-9]*\) /\1\n/'

sed가 지원하는 경우 확장 정규식을 사용하여 가독성을 높일 수 있습니다.

sed -E 's/^([0-9]+) /\1\n/'
  • [0-9]숫자와 일치
  • *"0번 이상"을 의미합니다.
  • +"적어도 한 번은"이라는 뜻
  • \(...\)또는 (...)"캡처 그룹"을 생성하면 첫 번째 캡처 그룹 \1등을 참조할 수 있습니다.
  • \n개행 문자를 나타냅니다.

관련 정보