请教各位,grep正则表达式怎么用

不吃天鹅肉 2020-07-09 03:30:52
请教个问题 ls | grep[^\.] 我预期结果是文件名不包含.的文件,可实际出来的好像是查找文件内容了,
...全文
19230 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
山椒π 2020-07-17
  • 打赏
  • 举报
回复
引用 8 楼 weixin_45621200 的回复:
[quote=引用 5 楼 山椒π的回复:][quote=引用 4 楼 weixin_45621200 的回复:][quote=引用 2 楼 山椒π的回复:]正则用于匹配字符串,如果想取反的话可以用grep的参数 -v 不包含.的文件可用下面两种,你试试 ls -a | grep -v "\." 这种就是不论是否是。开头 ls -a |grep -v -E "^\." 只过滤。开头的
试过了,不行[/quote] 怎么不行的? 列举下不符合条件的文件名字是什么? 这个过滤开头为.的其实就是过滤. ..还有隐藏文件,难道这些还能显示?[/quote] 我也看不出来规律,但是很多名字里不包含.的都出来了,ls|grep -v\.[/quote] 很多名字里不包含.的都出来了,那不就是对了? 你要都不是不包含.的么? 如果你要的是包含.的那就去掉-v 另外,如果你不是想匹配.开头的,那就没必要用正则表达式
不吃天鹅肉 2020-07-15
  • 打赏
  • 举报
回复
引用 5 楼 山椒π的回复:
[quote=引用 4 楼 weixin_45621200 的回复:][quote=引用 2 楼 山椒π的回复:]正则用于匹配字符串,如果想取反的话可以用grep的参数 -v 不包含.的文件可用下面两种,你试试 ls -a | grep -v "\." 这种就是不论是否是。开头 ls -a |grep -v -E "^\." 只过滤。开头的
试过了,不行[/quote] 怎么不行的? 列举下不符合条件的文件名字是什么? 这个过滤开头为.的其实就是过滤. ..还有隐藏文件,难道这些还能显示?[/quote] 我也看不出来规律,但是很多名字里不包含.的都出来了,ls|grep -v\.
不吃天鹅肉 2020-07-15
  • 打赏
  • 举报
回复
引用 5 楼 山椒π的回复:
[quote=引用 4 楼 weixin_45621200 的回复:][quote=引用 2 楼 山椒π的回复:]正则用于匹配字符串,如果想取反的话可以用grep的参数 -v 不包含.的文件可用下面两种,你试试 ls -a | grep -v "\." 这种就是不论是否是。开头 ls -a |grep -v -E "^\." 只过滤。开头的
试过了,不行[/quote] 怎么不行的? 列举下不符合条件的文件名字是什么? 这个过滤开头为.的其实就是过滤. ..还有隐藏文件,难道这些还能显示?[/quote] 我也看不出来规律,但是很多名字里不包含.的都出来了,ls|grep -v\.
不吃天鹅肉 2020-07-15
  • 打赏
  • 举报
回复
引用 5 楼 山椒π的回复:
[quote=引用 4 楼 weixin_45621200 的回复:][quote=引用 2 楼 山椒π的回复:]正则用于匹配字符串,如果想取反的话可以用grep的参数 -v 不包含.的文件可用下面两种,你试试 ls -a | grep -v "\." 这种就是不论是否是。开头 ls -a |grep -v -E "^\." 只过滤。开头的
试过了,不行[/quote] 怎么不行的? 列举下不符合条件的文件名字是什么? 这个过滤开头为.的其实就是过滤. ..还有隐藏文件,难道这些还能显示?[/quote] 我也看不出来规律,但是很多名字里不包含.的都出来了,ls|grep -v\.
不吃天鹅肉 2020-07-13
  • 打赏
  • 举报
回复
引用 2 楼 山椒π的回复:
正则用于匹配字符串,如果想取反的话可以用grep的参数 -v 不包含.的文件可用下面两种,你试试 ls -a | grep -v "\." 这种就是不论是否是。开头 ls -a |grep -v -E "^\." 只过滤。开头的
试过了,不行
不吃天鹅肉 2020-07-13
  • 打赏
  • 举报
回复
引用 1 楼 W_s_j的回复:
grep -r "name" ./ 加r 在当前目录下递归查找
我要的不是递归啊
山椒π 2020-07-13
  • 打赏
  • 举报
回复
引用 4 楼 weixin_45621200 的回复:
[quote=引用 2 楼 山椒π的回复:]正则用于匹配字符串,如果想取反的话可以用grep的参数 -v 不包含.的文件可用下面两种,你试试 ls -a | grep -v "\." 这种就是不论是否是。开头 ls -a |grep -v -E "^\." 只过滤。开头的
试过了,不行[/quote] 怎么不行的? 列举下不符合条件的文件名字是什么? 这个过滤开头为.的其实就是过滤. ..还有隐藏文件,难道这些还能显示?
山椒π 2020-07-11
  • 打赏
  • 举报
回复
正则用于匹配字符串,如果想取反的话可以用grep的参数 -v 不包含.的文件可用下面两种,你试试 ls -a | grep -v "\." 这种就是不论是否是。开头 ls -a |grep -v -E "^\." 只过滤。开头的
神机百炼 2020-07-09
  • 打赏
  • 举报
回复
grep -r "name" ./ 加r 在当前目录下递归查找

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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