J'ai un fichier comme ci-dessous:
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
Je souhaite supprimer le texte PI
jusqu'à Value:
. j'ai essayé
sed '/<PI>/,/<\/Value:>/d'
De l'aide?
text-processing
sed
khalil saad
la source
la source
PI
etValue:
se produit sur des lignes différentes?L'utilisation de la
d
commande danssed
supprimera toute la ligne. De plus, je ne sais pas pourquoi vous utilisez<
et>
. Peut-être que vous les confondez\<
et\>
que celagrep
sert à désigner les limites des mots? Dans ce cas, vous devez savoir que lessed
utilisations\b
pour les deux types de limites de mots (début et fin). Vous pouvez donc écrire quelque chose comme ceci:Pour plus de robustesse, j'utiliserais
perl
pour la quantification paresseuse de.
sorte que vous ne supprimiez que le texte entre la première occurrence dePI
et la première occurrence deValue:
. Bien sûr, tout dépend de votre cas d'utilisation.la source
Utilisez ce code ci-dessous pour supprimer plusieurs lignes entre les motifs (y compris les lignes avec des motifs):
Si vous souhaitez modifier directement votre_fichier:
la source