ファイルがあり、タイムスタンプで始まらない行をすべてgrepしたいと思います。私は、次の正規表現を使用してみましたが、それはうまくいきませんでした:regexの演算子がありません
cat myFile | grep '^(?!\[0-9\]$).*$'
任意の他の提案や、私がここで間違っているかもしれない何か?
ファイルがあり、タイムスタンプで始まらない行をすべてgrepしたいと思います。私は、次の正規表現を使用してみましたが、それはうまくいきませんでした:regexの演算子がありません
cat myFile | grep '^(?!\[0-9\]$).*$'
任意の他の提案や、私がここで間違っているかもしれない何か?
:
grep -v "<pattern>" file
(先頭に#を持っていないのは、あなたがはをコメントしていないシェルスクリプト内のすべての行をgrep検索したいとしましょう)あなたは使用することができます:
grep -v "^\s*#" file.sh
唯一の*正しい*答え:パターンを否定しようとしないで、一致結果を否定します。 +1 –
あなたはそれが最も簡単に使用されるだけではgrepを使用し、not
オペレータを必要としない:パターンを見つける:
grep '^[0-9]' myFile
これを試してみてください:
cat myFile | grep '^\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d'
これは、あなたのタイムスタンプがであると仮定しパターンdddd-dd-dd dd:dd:dd
ですが、それがあなたのタイムスタンプに一致するものに変更します。
注:CMDチェーンのいくつかの種類を使用している場合を除き、grep pattern file
は簡単な構文ところで
です:あなたはタイムスタンプ行をしたいたりしたい場合は、二重の負のご利用には、私はわからないなります非タイムスタンプ行。
単に否定するには、このようなgrepの-vオプションを使用しないのはなぜ
*が動作しませんでした* ...あなたのコンピュータから煙が出ましたか? –
これはhttp://unix.stackexchange.com/に属しますが、オフトピックオプションの間には見つかりません。 http://superuser.com/に投票しました – BlackBear