我有这样的文件名:
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
我希望cat
文件包含至少两个我手动指定的特定单词(以"-"分隔)。
例如:我想要cat
所有至少包含"act"one_answers"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
我不确定是否有一个直接的正则表达式能够做到这一点,因为每个文件的文件名顺序是唯一的。
是否有一个特定的regex
可以搜索包含至少2个以"-"分隔的三个字母名称的文件,我可以使用cat
所有相应的文件?
如果我提出的regex
+ cat
策略不是最好的,甚至是更有效的方法来处理这个任务。
文件名似乎按字母顺序包含术语。所以你可以说
cat `ls -1 | grep 'act.*psy'`
或
cat $(ls -1 | grep 'act.*psy')
如果您想获得用-
隔开的文件名:
ls -1 | grep 'word1-word2'
如果你想打印这些文件的所有内容:
cat $(ls -1 | grep 'word1-word2' )