linux如何匹配正则表达式

三千大千世界 2011-07-14 11:26:44
不要写法
我在shell里写了dtForm="\<[0-9]{8}\>",我要匹配这个shell的第一个参数是不是八个数字,表达式写好了,匹配怎么写啊,谢谢各位
...全文
114 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
三千大千世界 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 boca 的回复:]

echo $1|grep "\<[0-9]{8}\>"
[/Quote]



(echo $1|grep "\<[0-9]{8}\>") && echo "success"

如果带的参数格式正确应该打印 success 吧 ,但是什么也没打印出来啊?
帅得不敢出门 2011-07-14
  • 打赏
  • 举报
回复
grep "\<[0-9]{8}\>" < $1
然后判断 $?
boca 2011-07-14
  • 打赏
  • 举报
回复
echo $1|grep "\<[0-9]{8}\>"
三千大千世界 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lgxwqq111 的回复:]

用sed 或者grep都可以阿
[/Quote]

不行啊 grep "\<[0-9]{8}\>" $1
说 no such file or directory


是写在.sh文件里的
freetstar 2011-07-14
  • 打赏
  • 举报
回复
grep "\<[0-9]{8}\>" 你的字符串
freetstar 2011-07-14
  • 打赏
  • 举报
回复
用sed 或者grep都可以阿
帅得不敢出门 2011-07-14
  • 打赏
  • 举报
回复
-eq
帅得不敢出门 2011-07-14
  • 打赏
  • 举报
回复
if [ $? eq 0 ]; then
三千大千世界 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zmlovelx 的回复:]
echo "123456789"|grep "[0-9]\{8\}" -q
if [ -z $? ];then
echo "yes"
fi
[/Quote]

谢谢提示,-q不错
这样ok了
(echo $1 | grep "\<[0-9]\{8\}\>" -q) && echo "succ"

谢谢各位 结贴
三千大千世界 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zmlovelx 的回复:]

grep "\<[0-9]\{8\}\>"
[/Quote]

帅哥 还不行呀
帅得不敢出门 2011-07-14
  • 打赏
  • 举报
回复

echo "123456789"|grep "[0-9]\{8\}" -q
if [ -z $? ];then
echo "yes"
fi
帅得不敢出门 2011-07-14
  • 打赏
  • 举报
回复
grep "\<[0-9]\{8\}\>"
三千大千世界 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zmlovelx 的回复:]

grep "\<[0-9]{8}\>" < $1
然后判断 $?
[/Quote]

这样写的话 还是 no such file or directory
三千大千世界 2011-07-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 boca 的回复:]

echo $1|grep "\<[0-9]{8}\>"
[/Quote]


dtForm="[0-9]\{8\}" 写错了
(echo $1|grep "\<[0-9]{8}\>") && echo "success"
这样可以,但是连参数也打印了,可以不打印吗

19,610

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧