파일의 모든 이름에 대한 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

파일을 다음과 같이 보는 경우분리된, 그러면 두 번째 줄의 모든 줄을 일치시키고 출력할 수 있습니다.대지최대 공간으로 구성될 수 있습니다:

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

답변3

확장 정규 표현식과 함께 사용 grep:

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

빈 키와 해당 줄 번호가 인쇄되어야 합니다.

관련 정보