다음 파일 내용을 어떻게 확인할 수 있나요?
여기에는 단일 정수/부동 소수점에 대한 bash 정규식 또는 awk/sed의 다른 아이디어가 포함되어야 합니다.
예:
cat /var/VERSION/Version_F35_project_usa
2.8
답변1
.
전체 파일에 여러 개의 십진수가 포함되어 있는지 확인하고 선택적으로 하나 이상의 숫자와 선택적 개행 문자가 뒤따르는지 확인하려면 다음을 수행할 수 있습니다.
is_valid() {
awk 'END{exit(!(NR == 1 && /^[0-9]+(\.[0-9]+)?$/))}' < "$1"
}
if is_valid /var/VERSION/Version_F35_project_usa; then
echo the file has the right kind of content
else
echo >&2 the file does not have the right kind of content
fi
답변2
을 사용하십시오 grep
. 일치하면 유효함을 의미합니다.
grep -P '^[0-9]+(\.[0-9]+)?$' infile.txt
위의 정규식은 sed
또는 awk
모든 명령에서 사용할 수 있습니다.
sed -n -Ee '/^[0-9]+(\.[0-9]+)?$/p'
awk '/^[0-9]+(\.[0-9]+)?$/'
또한 파일이 이 정규식과 일치하는지 확인합니다.
awk '/^[0-9]+(\.[0-9]+)?$/{print "matched";exit} {print "not-matched";exit}' file