我有以下格式的文件:
Name=Dan
Age=45
Name=Alex
Age=35
Cellphone=12345678901
Name=John
Age=
Cellphone=12345678901
该文件有 1000 条以上格式的数据项,Name=Value
.
如果缺少值,我想在下面的输出中找到这些值作为 Age 的缺失值。
我尝试使用 cut 命令,cut -d “=“ -f2 > some file
然后 grep 为空行,grep -n ‘[[:blank:]]’ file
然后在原始文件中显示行号。
但由于我有多个文件,这种方法看起来很复杂。
有没有更简单的方法呢?
你可以尝试使用这个:
这会将您的空格替换为新行(如果您的值包含空格,这将不起作用),然后查找带有 = 后跟行结束的条目。
如果将文件视为delimited,则可以匹配并输出第二个字段最多包含空格的任何行:
grep
与扩展正则表达式一起使用:grep -Eno "[A-Za-z]+=( |$)" /path/to/file
应该打印空键和相应的行号。