Grep 获取具有与基名称模式匹配的路径的文件名

Grep 获取具有与基名称模式匹配的路径的文件名,grep,ls,Grep,Ls,我有一个文件名列表,路径如下 /some/path/or/another/RCrandomname.TRI /another/path/NCrandomname2.TRI /one/more/path/RCrandomname3.PCD 我只想选择基本名称以RC开头并具有扩展名TRI的文件名(及其路径) 在上面的例子中,我想得到 /some/path/or/another/RCrandomname.TRI 如果我有一个基本的名字,只有我能做到 ls | grep "^RC.*\.T

我有一个文件名列表,路径如下

/some/path/or/another/RCrandomname.TRI
/another/path/NCrandomname2.TRI
/one/more/path/RCrandomname3.PCD
我只想选择基本名称以RC开头并具有扩展名TRI的文件名(及其路径) 在上面的例子中,我想得到

/some/path/or/another/RCrandomname.TRI
如果我有一个基本的名字,只有我能做到

ls | grep "^RC.*\.TRI$" > filenames
但在这里我有所有的路径。
我需要使用
ls

不要解析
ls
的输出,它在很多方面都很容易出错

您可以将globbing与shopt globstar一起使用:

shopt-s globstar
ls-1**/RC*.TRI>文件名
globstar
,启用后,globbing代码将专门处理
**
——它递归地匹配所有目录(以及其中的文件,如果合适)


不要解析
ls
的输出,它在许多方面都容易出错

您可以将globbing与shopt globstar一起使用:

shopt-s globstar
ls-1**/RC*.TRI>文件名
globstar
,启用后,globbing代码将专门处理
**
——它递归地匹配所有目录(以及其中的文件,如果合适)


find-键入f-name'RC*.TRI'>文件名
?@WiktorStribiżew我需要使用
ls
。然后尝试
ls | grep-E'^(.*/)?RC[^/]*\.TRI$”>文件名
grep不删除任何内容,它只匹配或不匹配。
查找-键入f-name'RC*.TRI'>文件名
?@WiktorStribiżew我需要使用
ls
。然后尝试
ls | grep-E'^(.*/)?RC[^/]*\.TRI$”>文件名
grep不会删除任何内容,它只匹配或不匹配。