特定のパターンに該当しないすべての線をファイルから抽出したい。Bash - 特定のパターンを含まないファイルからの線の取得
pattern="tmp/[...]/include/linux/*.h"
file contains:
17937;/home/[...]/tmp/[...]/include/linux/header.h;484;16;[Other text here]
37417;/home/[...]/tmp/[...]/src/file.cpp;1851;41;[Other text here]
17945;/home/[...]/tmp/[...]/include/linux/*/header.h;484;16;[Other text here]
期待される結果は2行目のみです。
は私が怒鳴るラインを試みたと私は、ファイルの内容全体を取得:
grep -E -v $pattern file
それだけ怒鳴るラインで動作しますが、それは十分ではありません。
grep -E -v .h file
方法希望の出力を得ることができますか?
grep -E -v "tmp /\\...\\]/ include/linux /.* \ .h"は、あなたのデータに基づいて望ましい結果を得ます。 – sigmalha
除外する行を決定するパターンが固定されているか、ワイルドカードを使用しているような場合はわかりません:* .h - >拡張子が.hのすべてのファイルを除外します。 – MarcM
ワイルドカードのような感じです。そのパターンを含むすべての行が除外されます(同じ場所にあるすべての.h行)。 –