Linux의 파일에서 단일 특수 문자를 제거하는 방법은 무엇입니까?

Linux의 파일에서 단일 특수 문자를 제거하는 방법은 무엇입니까?

이 JSON 파일이 있고 [파일에서 해당 파일을 제거하려고 하는데 이를 파악하는 데 어려움을 겪고 있어 도움이 필요합니다.

현재의:

[{"_id":"DATA"}

예상되는:

{"_id":"DATA"}

매우 큰 파일이므로 수동으로 편집할 수는 없지만 [한 번만 나타납니다.

답변1

사용 sed:

sed -i '1s/^\[//' file

또는 귀하의 버전이 sed그렇지 않은 경우 -i:

sed '1s/^\[//' file > file.tmp && mv file.tmp file

설명하다:

  • -i파일을 제자리에서 편집합니다(대안: 출력을 .tmp파일에 쓰고 다시 원래 이름으로 이동).
  • 1첫 번째 줄에서 다음을 수행합니다.
  • s/pattern/replacement/modifiers패턴을 지정된 수정자로 바꿉니다.
    귀하의 경우 패턴은 ^\[빈 교체와 수정자가 없는 줄의 맨 처음 부분에서 일치하는 데 사용됩니다.]^

답변2

Vim 편집기에서는 명령 모드에서 다음 명령을 간단히 사용할 수 있습니다.

%s/\[//g

관련 정보