1行目 abc def ghi 3000
2行目 jkl mno pqr 40000
3行目 stu vwx yzA 1000
4行目 abc def ghi 5000
1.「def」のある行だけ残す方法
2.数値の部分が5000以上の行だけ残す方法
をそれぞれ知りたいのですが。
1.:v/def/d
2.:g/[¥d]+[5-9]000$/d
なぜか2.の方がパターンが見つからないと出てしまいます。
あと2.の方は数値のあとにもスペースを挟んで文字が続く想定でお願いしたかったのです…
久しぶりにvimの正規表現を書いてみた
1.
:%!perl -ne 'next unless /def/; print'
2.
:%!perl -ne 'next if /(\d+)$/ and $1 < 5000; print'
って邪道か…
私の環境だとperlを認識しませんでした
2つめの方ですが、「:v/[\d]*[05-9]000/d」では如何でしょうか。
ただし数値が「0000」だけでもマッチしますのでご注意を。
できました。ありがとうございます
こんな感じでどうでしょうか?
:g!/def/d
:g!/\([5-9]\d\{3,3}\)\|\([1-9]\d\{4,}\)/d
できました。あと「\|\」このような書き方を知らなかったので
ひじょうに参考になりました。
なぜか2.の方がパターンが見つからないと出てしまいます。
あと2.の方は数値のあとにもスペースを挟んで文字が続く想定でお願いしたかったのです…