文件名中至少包含 2 个指定组件的 cat 文件

oww*_*w14 1 regex file cat

我有看起来像这样的文件名:

act-art-atr-phm-pro-psy
act-art-atr-phm-pro-sta
act-art-atr-pro-psy-rel-sta
act-art-atr-pro-tme
act-art-atr-psy
act-art-atr-psy-qud-sta
act-art-atr-psy-sta
act-art-atr-rel
act-art-atr-sta
act-art-com
Run Code Online (Sandbox Code Playgroud)

我想要cat包含至少两个我手动指示的特定单词(以“-”分隔)的文件。

例如:我想要cat所有至少包含“act”和“psy”的文件,因此生成的文件将包含文件中的所有内容

act-art-atr-phm-pro-psy
act-art-atr-pro-psy-rel-sta
act-art-atr-psy
act-art-atr-psy-qud-sta
act-art-atr-psy-sta
Run Code Online (Sandbox Code Playgroud)

我不确定能够做到这一点的直接正则表达式,因为每个文件的文件名顺序都是唯一的。

是否有特定regex的文件可以搜索包含至少 2 个以“-”分隔的三个字母名称cat的文件,我可以将其用于所有相应的文件?

或者,如果我提出的regex+cat策略不是最好的,那么甚至可以采用更有效的方法来处理此任务。

SzG*_*SzG 6

文件名似乎包含按字母顺序排列的术语。所以你可以说

cat `ls -1 | grep 'act.*psy'`
Run Code Online (Sandbox Code Playgroud)

或者

cat $(ls -1 | grep 'act.*psy')
Run Code Online (Sandbox Code Playgroud)