当前位置:网站首页>shell脚本实战(第2版)/人民邮电出版社 脚本2 验证输入:仅限字母和数字
shell脚本实战(第2版)/人民邮电出版社 脚本2 验证输入:仅限字母和数字
2022-08-09 10:26:00 【玛丽苏打肉饼】
validalphanum()
{
validchars="$(echo $1 | sed -e 's/[^[:alnum:]]//g')" #1
if [ "$validchars" = "$1" ];then
return 0
else
return 1
fi
}
read -p "Enter input: " input #2
if ! validalphanum "$input" ; then
echo "your input must consist only letters and numbers."
exit 1
else
echo "input is valid"
fi
exit 0
1.shell 脚本sed工具
sed本身也是管道命令,可以分析标准输入。而sed还可以将数据进行替换,删除,新增,选择特定行等功能。
[[email protected] ~] sed [-nefr] [操作] 文件名
选项与参数:
- -n:一般 sed 命令会把所有数据都输出到屏幕上。如果加入此选项,则只会把经过 sed 命令处理的行输出到屏幕上;
- -e: 允许对输入数据应用多条 sed 命令编辑;
- -f 脚本文件名:从 sed 脚本中读入 sed 操作。和 awk 命令的 -f 选项非常类似;
- -r:在 sed 中支持扩展正则表达式;
- -i:用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出动作
操作:n1,n2 function
- a :追加,在当前行后添加一行或多行。
- c :行替换,用c后面的字符串替换原数据行。
- i :插入,在当前行前插入一行或多行。
- d:删除,删除指定的行;
- P:打印,输出指定的行;
- s:字符串替换,用一个字符串替换另一个字符串。格式为“行范围s/旧字串/新字串/g”(和Vim中的替换格式类似);
2.变量键盘读取
$read [-pt] variable
选项与参数:
-p:后面可以接提示字符
-t:后面可以接等待的秒数。
运行结果
边栏推荐
- Demand side power load forecasting (Matlab code implementation)
- 3D打印了这个杜邦线理线神器,从此桌面再也不乱了
- 分类预测 | MATLAB实现CNN-GRU(卷积门控循环单元)多特征分类预测
- 史上最小白之《Word2vec》详解
- Nodejs服务端
- 机器学习--线性回归(Linear Regression)
- 深度学习--循环神经网络(Recurrent Neural Network)
- 深度学习--生成对抗网络(Generative Adversarial Nets)
- Win7 远程桌面限制IP
- 面试官:MySQL 中 update 更新,数据与原数据相同时会执行吗?大部分人答不上来!
猜你喜欢
随机推荐
好久没上博客了,好长时间没有进展了
KMP& sunday
【Linux】宝塔面板设置MySQL慢查询日志,未走索引日志
Loop nesting and basic operations on lists
Battery modeling, analysis and optimization (Matlab code implementation)
在犹豫中度过了老多天,今天的工作时记录
字符串函数和内存函数
程序员的专属浪漫——用3D Engine 5分钟实现烟花绽放效果
Win32控件------------显示系统使用的控件版本
实验室装修及改造工程程序简介
函数组件和类组件和dva视图更新问题
Cpolar内网穿透的面板功能介绍
xmms的均衡器试验成功 音效相当不错 比rockbox可能还要好
Win系统 - 罗技 G604 鼠标蓝灯闪烁、失灵解决方案
【MySQL】mysql因为字符集导致left join出现Using join buffer (Block Nested Loop)
Nodejs服务端
day16_03集合
使用cpolar远程连接群晖NAS(创建临时链接)
编解码(seq2seq)+注意机制(attention) 详细讲解
学习NET-SNMP之一 ---------编译NET-SNMP程序。