当前位置: 技术问答>linux和unix
请教一个shell中关于字符串检查的命令。急。。。在线等。。。。。。。。。。
来源: 互联网 发布时间:2015-10-31
本文导语: 想实现两个功能如下: 1.检查一个输入的字符串是否是字母比如: read name 检查name里的字符是否是在A-Z或a-za或空格中,如果不是就echo "Name can contain only alphabets and spaces" 如果输入正确就输出。 2.检查一串输...
想实现两个功能如下:
1.检查一个输入的字符串是否是字母比如:
read name
检查name里的字符是否是在A-Z或a-za或空格中,如果不是就echo "Name can contain only alphabets and spaces" 如果输入正确就输出。
2.检查一串输入的数字是否符合如下要求:
read number
number的格式是(xx-xxxxxxxx),其中在“-”之前的两位数字必须是“02,03,04,05”之中的一个。而在“-”后面的八位数字必须只有8个数字不多也不少。
我是一个SHELL编程的初学者,请大家教教我这两个功能怎么完成,很有难度呀,特别是第二个功能。
1.检查一个输入的字符串是否是字母比如:
read name
检查name里的字符是否是在A-Z或a-za或空格中,如果不是就echo "Name can contain only alphabets and spaces" 如果输入正确就输出。
2.检查一串输入的数字是否符合如下要求:
read number
number的格式是(xx-xxxxxxxx),其中在“-”之前的两位数字必须是“02,03,04,05”之中的一个。而在“-”后面的八位数字必须只有8个数字不多也不少。
我是一个SHELL编程的初学者,请大家教教我这两个功能怎么完成,很有难度呀,特别是第二个功能。
|
1.
#!/bin/bash
read name
if echo "$name"|grep '^[A-Za-z ][A-Za-z ]*$';then
echo "OK"
fi
2.
#!/bin/bash
read name
if echo "$name"|grep '^0[2-5]-[0-9]{8}$';then
echo "OK"
fi
#!/bin/bash
read name
if echo "$name"|grep '^[A-Za-z ][A-Za-z ]*$';then
echo "OK"
fi
2.
#!/bin/bash
read name
if echo "$name"|grep '^0[2-5]-[0-9]{8}$';then
echo "OK"
fi