私はすでにこれを持っています:
'< 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
質問に示すように、「>」文字が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