$
たとえば、次の文字を含む行を削除したいとします。
a$df
aheh$b$
t$$a
私はそれを維持したい一つ $
、行の終わりから:
abc$
abcdwh$
テキストファイルには2M行が含まれています。
答え1
$
のメタ文字はsed
2つの方法で文字通り一致します。
\$
バックスラッシュ- 角かっこで囲みます。
[$]
しかし、別の方法があります。$
正規表現の最後の文字ではない場合は、リテラルとして扱うことです。だから、
sed -e '/$./d' file
あなたの問題に合わせています。
答え2
$
行の後に内容がある場合(.
)、その行を削除します。
sed '/\$./d' file
このモードは以下でも機能しますgrep
。
grep -v '\$.' file