次の形式行を含むファイルがあります。
2021-Jan-26 05:35 foo bar 2
2021-Jan-26 05:37 asdf 2 foo bar
2021-Jan-26 05:37 foo
私が興味のあるパターンは、位置20から始まります。したがって、特定のパターンのファイルを見つけるときは、最初の19文字をスキップしたいと思います(一致しません)。
だから最初の19文字を除いて、行のどこでもパターンを一致させたいと思います。
上記の例では、 を grep すると2
ライン 1 とライン 2 のみを一致させようとします。
どうすればいいですかgrep
?
ベストアンサー1
grep
最初の19文字を無視し、必要なパターンのみを一致させるGNUオプションを使用してください。
grep -P "(?<=.{19})2" file
出力:
2021年1月26日 05:35 プーバ2 2021年1月26日05:37 asdf2豊富なバー