次のファイルがあります。
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
PI
までテキストを削除したいです。Value:
やってみました。
sed '/<PI>/,/<\/Value:>/d'
助けが必要ですか?
答え1
PI
from のすべての項目を空の文字列に置き換えます。Value:
sed 's/PI.*Value://'
答え2
d
in コマンドを使用すると、行sed
全体が削除されます。また、なぜ<
andを使用したのかわかりません>
。たぶんあなたは単語の境界を表すために使用されていると混同していますか\<
?この場合、2種類の単語境界(開始と終了)の目的を知る必要があります。したがって、次のように書くことができます。\>
grep
sed
\b
sed -i 's/\bPI\b.*\bValue:\b//' your_file
堅牢性を高めるために、遅延量子化を使用して、perl
最初の発生と最初の発生の間.
のテキストのみを削除します。もちろん、これはすべてユースケースによって異なります。PI
Value:
perl -pi -e 's{ \b PI \b .*? \b Value: \b}{}x' your_file
答え3
パターン間の複数の行(パターン付きの行を含む)を削除するには、以下のコードを使用してください。
sed "/PI/,/Value:/d" your_file
your_file を直接編集するには:
sed -i "/PI/,/Value:/d" your_file