私は7桁の数字だけを含む項目を見つけようとするファイルがたくさんあります。
以下は、私が抽出したいコンテンツの例です。
CDR Calling Number: +15555555555
CDR Called Number: 5557600
これは現在インポートする必要があるコマンドですが、このコマンドは私が望んでいない他の項目もドラッグします。
cat file* |grep -v "CDR Called Number: +1" |grep -B 1 "CDR Called Number"
以下は、私が成功していないまま試したいくつかの項目です。
grep '^.......' file*
grep -E '^.{7}$' file*
sed -rn '/^.{7}$/p' file*
答え1
欲しい
grep -E '\D\d{7}$'
- 数字ではなく数字の後に7桁の数字と行の終わりが続きます。
これはまた働くことができます
awk 'length($NF) == 7 && $NF !~ /[^0-9]/'
- 最後のフィールドの長さは7文字で、数字以外の数字は含まれません。
あなたの例にはいくつかのエラーがあります。
grep '^.......'
- ワイヤースタート7つすべての文字grep -E '^.{7}$'
- この行の長さは正確に7文字です。