如何grep以.c或.cpp结尾的行?

sre*_*ree 3 linux shell

我有一个文件如下,我想grep有线.c.cpp扩展名.我尝试过使用cat file|grep ".c"grep但是我将所有类型的扩展作为输出.请详细说明一下.提前致谢.

file contents are below:
/dir/a/b/cds/main.c
/dir/a/f/cmdss/file.cpp
/dir/a/b/cds/main.h
/dir/a/f/cmdss/file.hpp
/dir/a/b/cdys/main_abc.c
/dir/a/f/cmfs/file_123.cpp
Run Code Online (Sandbox Code Playgroud)

小智 12

grep 支持正则表达式.

$ grep -E '\.(c|cpp)$' input
Run Code Online (Sandbox Code Playgroud)
  • -E 表示'将PATTERN解释为扩展正则表达式'
  • \. 意思是一个点 .
  • () 是一个团体
  • c|cpp 是另一种选择
  • $ 是线端