首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grep并查找匹配的FileNames

Grep并查找匹配的FileNames
EN

Stack Overflow用户
提问于 2014-03-20 16:25:37
回答 2查看 41关注 0票数 0

我有一个txt文件,它有一个前缀Id的列表,我需要将它与源目录进行匹配,并获得匹配的文件名并构建一个列表。

我目前正在使用下面的代码来实现这一点,但我只获取列表中最后一个文件名的文件

代码语言:javascript
复制
set -A flist $(find $1 -name "*.csv" | grep "`cat ${tempfile}.txt`"

有大约10个匹配的文件,但此命令仅返回最后一个文件,如有任何帮助,将不胜感激

EN

回答 2

Stack Overflow用户

发布于 2014-03-20 17:10:35

代码语言:javascript
复制
$ cat prefixes.txt
foo_[^/]*$
bar_[^/]*$

$ find
.
./blah
./foo_1.txt
./bar_3.txt
./bar_4.txt
./quux_6.txt
./quux_5.txt
./prefixes.txt
./foo_2.txt

$ foo=( $(find . -name "*.txt*" | grep -f prefixes.txt) )

$ set | grep ^foo=
foo=([0]="./foo_1.txt" [1]="./bar_3.txt" [2]="./bar_4.txt" [3]="./foo_2.txt")

但请注意,这将在文件名中使用空格,并且对于您的实际问题可能有更好的解决方案。

票数 1
EN

Stack Overflow用户

发布于 2014-03-20 18:34:10

代码语言:javascript
复制
 set -A aRray `find . -name "*" | egrep -f RegExPrefix.txt | sed "s/.*/'&'/"`

将取决于您的shell。这里是在AIX上使用ksh进行测试的(所以不是GNU和set -A创建数组)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22527250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档