Substitua tudo de PI para Value: por string vazia:
sed 's/PI.*Value://'
Eu tenho um arquivo como abaixo:
mime PI Name: ISHO SUCCESS RATE RT, Value: 95.663826
scr PI Name: RRC Access Failures due to UU, Value: 0.13394141
prog PI Name: RRC Access Failures due to UU, Value: 0.16077702
sch PI Name: RRC Access Failures due to UU, Value: 0.11781933
Desejo remover o texto PI till Value: . Eu tentei
sed '/<PI>/,/<\/Value:>/d'
Alguma ajuda?
Substitua tudo de PI para Value: por string vazia:
sed 's/PI.*Value://'
Usar o comando d em sed excluirá a linha inteira. Além disso, não sei por que você está usando < e > . Talvez você esteja confundindo-os com \< e \> que grep usa para denotar limites de palavras? Nesse caso, você deve saber que sed usa \b para os dois tipos de limites de palavras (início e fim). Então você pode escrever algo assim:
sed -i 's/\bPI\b.*\bValue:\b//' your_file
Para uma robustez extra, eu usaria perl para quantificação lenta de . , para que você exclua apenas o texto entre a primeira ocorrência de PI e a primeira ocorrência de Value: . Claro que tudo depende do seu caso de uso.
perl -pi -e 's{ \b PI \b .*? \b Value: \b}{}x' your_file
Tags text-processing sed