ファイルの1行に7文字しか含まれていないファイル/または複数のファイル*から項目を抽出してみてください。

ファイルの1行に7文字しか含まれていないファイル/または複数のファイル*から項目を抽出してみてください。

私は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文字です。

おすすめ記事