파일에서 특수 문자 제거

파일에서 특수 문자 제거

나는 이미 이것을 가지고 있습니다:

'< Jan 20 Sep> This is the sample out put  
This is Sample 
>

'< Jan 21 Sep> This is the sample out put 
This is Known Errors 
 > 

따라서 파일에서 > 특수 문자를 모두 제거해야 합니다. 특수문자 >가 있는 줄만 삭제하면 됩니다. 나는 다음과 같은 출력을 원한다

'< Jan 20 Sep> This is the sample out put 
This is Sample 
'< Jan 21 Sep> This is the sample out put  
This is Known Errors 

답변1

질문에 표시된 것처럼 ">" 문자가 한 줄에 나타나면 다음을 수행할 수 있습니다.

grep -wv '>' thefile

결과:

'< Jan 20 Sep> This is the sample out put
This is Sample

'< Jan 21 Sep> This is the sample out put
This is Known Errors

답변2

그러면 각 줄의 시작 부분에 있는 문자가 제거되고 >출력이 STDOUT으로 인쇄됩니다. 출력을 파일에 쓰려면 -i옵션을 사용하거나 출력을 리디렉션해야 합니다.sed

sed 's%^>%%' <filename>

예를 들어 다음 명령으로 테스트할 수 있습니다.

% sed 's%^>%%' <<'EOF'
'< Jan 20 Sep> This is the sample out put
This is Sample
>
EOF

결과

'< Jan 20 Sep> This is the sample out put
This is Sample

답변3

이러한 명령을 사용하면 원하는 결과를 얻을 수 있습니다.

command | sed '/^ \?> \?$\|^$/d'

또는

sed '/^ \?> \?$\|^$/d' file.txt

정규식은 다음과 같습니다.

무엇이든 일치/pattern/

>선택적 선행 또는 후행 공백이 있는 줄을 포함합니다.^ \?> \?$

또는\|

비었다^$

삭제해d

관련 정보