ファイル内のすべての名前のNULL値を見つける

ファイル内のすべての名前のNULL値を見つける

次の形式のファイルがあります。

Name=Dan
Age=45
Name=Alex
Age=35
Cellphone=12345678901
Name=John
Age=
Cellphone=12345678901

ファイルには、フォーマットされた1000以上のデータ項目がありますName=Value

値が欠落している場合は、下の出力でその値を年齢の欠損値として見つけたいと思います。

私はcutコマンドを使ってcut -d “=“ -f2 > some file空の行を見つけて、元のgrep -n ‘[[:blank:]]’ fileファイルの行番号を表示してみました。

ただし、複数のファイルがあるため、この方法は複雑に見えます。

より簡単な方法がありますか?

答え1

以下を試してみてください。

cat <filename> | sed "s/ /\n/g" | grep "=$"

これにより、空白が新しい行に変わり(値に空白が含まれている場合、この方法は機能しません)=後に行の終わりが続く項目を見つけます。

答え2

ファイルを次のように表示する場合分離、2番目の行のすべての行を一致させて出力できます。大地最大スペースで構成できます。

awk -F= '$2 ~ /^[ \t]*$/' file

答え3

拡張正規表現で使用grep:

grep -Eno "[A-Za-z]+=( |$)" /path/to/file

空のキーと対応する行番号を印刷する必要があります。

関連情報