【发布时间】:2017-04-12 15:56:29
【问题描述】:
我想使用 grep 在目录 (/bin) 中搜索以特定字符开头并后跟包含其他两个特定字符之一的任何字符串。就我而言,我希望每个文件都以“g”开头并包含字母“e”或“n”。我尝试了许多“ls /bin | grep '^g'”的变体。
【问题讨论】:
标签: regex bash shell grep lookaround
我想使用 grep 在目录 (/bin) 中搜索以特定字符开头并后跟包含其他两个特定字符之一的任何字符串。就我而言,我希望每个文件都以“g”开头并包含字母“e”或“n”。我尝试了许多“ls /bin | grep '^g'”的变体。
【问题讨论】:
标签: regex bash shell grep lookaround
怎么样:
ls /bin | grep '^g.*[en]'
【讨论】:
ls 输出并不是最好的做法:Why you shouldn't parse the output of ls command
ls | some_command 经常是日常命令行工作。 (当然,永远不会在脚本中使用它,但它在直接终端工作中是完全可以接受的。用这样的链接评论每个ls answer只是一个窃听.. .(只是恕我直言);(
使用find,您可以:
find /bin -regex '/bin/g.*[en].*'
【讨论】: