我有一个包含多个文件的目录。我的要求是,我必须根据特定的关键字搜索文件名(而不是文件数据)并打印该文件名。
例如
ABC
是目录。下面是文件
AEXP/INC/ARP.txt
AEXP/OPC/ARP.txt
AEXP/INC/PQW.txt
我希望文件包含关键字INC
。
预期产出:
AEXP/INC/ARP.txt
AEXP/INC/PQW.txt
我试过这个逻辑,但是它运作不正常
#!/bin/sh
for FILE in ABC/* do
if [[ $file =~ /INC/i ]] then
echo success;
else
echo fail;
fi
done
请帮助我找到正确的答案。 bash脚本,Perl,正则表达式,一切都很好。
答案 0 :(得分:2)
在Linux上你可以使用" find"。在Ubuntu shell上,它看起来像:
find . -name "*INC*" -print
答案 1 :(得分:1)
这个怎么样:
cd ABC
ls -d */INC/*
是否还需要检查大写/小写变体?