나는 이미 이것을 가지고 있습니다:
'< 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