获取路径与基本名称模式匹配的文件名
get filenames with paths that match a basename pattern
我有一个文件名列表,它们的路径是这样的
/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
的输出,它在很多方面都容易出错。
您可以通过 shopt globstar
:
使用 globbing
shopt -s globstar
ls -1 **/RC*.TRI > filenames
globstar
, When enabled, the globbing code treats **
specially -- it matches all directories (and files within them, when appropriate) recursively.
我有一个文件名列表,它们的路径是这样的
/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
的输出,它在很多方面都容易出错。
您可以通过 shopt globstar
:
shopt -s globstar
ls -1 **/RC*.TRI > filenames
globstar
, When enabled, the globbing code treats**
specially -- it matches all directories (and files within them, when appropriate) recursively.