我有看起来像这样的文件名:
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策略不是最好的,那么甚至可以采用更有效的方法来处理此任务。
文件名似乎包含按字母顺序排列的术语。所以你可以说
cat `ls -1 | grep 'act.*psy'`
Run Code Online (Sandbox Code Playgroud)
或者
cat $(ls -1 | grep 'act.*psy')
Run Code Online (Sandbox Code Playgroud)