选择从文本文件读取名称的文件

时间:2019-05-08 20:56:53

标签: bash shell grep find

我有一个文件目录。我想根据我拥有的文本文件选择其中的一些。文本文件具有我需要选择的文件的部分名称。

我尝试使用查找

ls | while read -r line; do find -type f -name $line; done < ../src_pdm3012/good_G20P1.txt

我也尝试使用grep,因为它似乎不起作用。

1 个答案:

答案 0 :(得分:1)

由于名称是局部的,因此您必须找到名称包含所读行的文件,而不是与之相等的名称:

while read -r line; do find -type f -name "*$line*"; done < ../src_pdm3012/good_G20P1.txt

由于您想使用grep,因此您正在寻找以下内容:

ls -a | grep -F -f ../src_pdm3012/good_G20P1.txt

...但是请记住,grep ls输出不是一个好习惯