파일에서 두 단어 사이의 문자 제거

파일에서 두 단어 사이의 문자 제거

반복되는 패턴이 있는 파일이 있습니다. 원래 줄은 다음과 같습니다.

blahblah=xxx blahblahblah(xxx): blah=xxx blah=xxx blah=xxx blah=xxx a0=20a8c20 a1=20a8dc0 a2=20a70a0 a3=7ffcb25e7b60 items=3 ppid=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah="xxx" blah="xxx"

이 줄을 다음 출력으로 변환하려면 명령이 필요합니다(a0을 ppid로 제거하고 ppid를 삭제하지는 않음).

blahblah=xxx blahblahblah(xxx): blah=xxx blah=xxx blah=xxx blah=xxx ppid=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah="xxx" blah="xxx"

a0과 ppid의 문자 수는 다릅니다.

해결책을 설명해 주세요. 저는 단지 배우려는 학생일 뿐입니다.

의견에 대한 응답:

예, 파일 디렉터리에 대해 이 작업을 수행하고 있습니다. 대상은 이러한 파일을 반복하는 스크립트입니다. 나는 사용하려고

sed -e 's/a0=<missing code>items=//'

하지만 누락된 코드에 무엇이 포함되어야 하는지 알 수 없습니다. 파일의 일반적인 패턴은 동일합니다.

답변1

sed 's/a0.*ppid/ppid/g' yourFile

s는 교체를 의미합니다.

a0으로 시작하고 ppid로 끝나는 문자열을 ppid로 바꿉니다.

마침표는 모든 문자를 나타냅니다.

별표는 ppid까지 0개 이상의 문자를 나타냅니다.

g는 전체 문자열에 대해 이 작업을 수행한다는 의미입니다.

man sed자세히 알아보려면 터미널을 입력하세요 .

관련 정보