텍스트를 확인하고 파일에 저장하는 스크립트

텍스트를 확인하고 파일에 저장하는 스크립트

사용자가 이름과 나이를 입력하도록 요구하는 스크립트의 예를 들어주실 수 있나요? 그런 다음 성과 이름에 문자만 포함되어 있는지, 나이에 숫자만 포함되어 있는지 확인하세요. 정보가 정확하면 파일에 추가됩니다.

답변1

이것은 마치 숙제처럼 들립니다. 따라서 누구도 당신을 위해 대본을 작성해서는 안 됩니다.

대신 다음 두 명령을 사용하는 방법을 배우는 것이 좋습니다.

답변2

메시지를 표시 echo하고 read입력 줄을 읽는 데 사용됩니다. 이는 쉘에 내장되어 있으므로 자세한 내용은 쉘 매뉴얼을 참조하세요.

echo "What is your name?"
read -r name
echo "What is your age?"
read -r age

연령을 확인하려면 숫자 이외의 문자가 포함되어 있는지 확인하세요. 이를 허용하는 유일한 휴대용 내장 쉘 구성은 다음과 같습니다 case(일부 쉘에는 정규식 일치를 위한 확장 기능이 있습니다).

case $age in
  *[!0-9]*) echo 1>&2 "Your age must consist of digits only."; exit 2;;
esac

이름을 확인하려면 인쇄할 수 없는 문자가 포함되어 있는지 확인하세요. (알아채다이름에는 거의 모든 문자가 포함될 수 있습니다.;또한 모든 사람이 "성"을 갖고 있는 것은 아닙니다. 이름을 임의의 문자열로 취급합니다. )

case $name in
  *[![:print:]]*) echo 1>&2 "Your name must consist of printable characters only."; exit 2;;
esac

답변3

이것이 숙제가 아니라면 PERL 또는 Python을 사용하여 살펴보고 다음과 같이 PERL을 읽는 것이 좋습니다.

$name = <STDIN>;
chomp $name;
($forename, $surname) = split(<regex>, $name);
if($surname =~ /<regex>/) execute something

Python도 비슷하므로 한번 살펴보세요.PERL 정규식. 대본은 정확하지 않지만 아이디어는 얻을 수 있습니다.

관련 정보