linux 如何读取文件中的多行并将其放入grep模式?

uqjltbpv  于 2023-06-21  发布在  Linux
关注(0)|答案(2)|浏览(150)

我有一个文件t.txt
例如,假设文件包含如下所示的值。价值观改变了,不知道它会变成什么。我只想grep文件里面的内容。

[session] cat t.txt
John
Alex
Danny

我想运行一个类似这样的命令来grep所有这些:

ls -lart | grep -e John -e Alex -e Danny

我如何从t.txt文件中读取这些值,并使用-e将它们放在上面的模式中。我想用grep来表示文件中的任何值,然后用grep来表示所有值。这些值一直在变化,我想自动化这一点。
for i in cat t.txt do ls -lart| grep $i done
我知道上面的工作。我不想要循环。我想使用grep模式使用-e。
帮帮我伙计们。

q8l4jmvw

q8l4jmvw1#

假设这些名字每行一个:

ls -lart | grep -f t.txt

而不是循环。

8qgya5xd

8qgya5xd2#

要获取t.txt中有一行作为子字符串的所有目录条目:

shopt -s extglob
ls *+($(paste -s -d '|' t.txt))*

获取所有目录项,这些目录项正好是t.txt中的一行

shopt -s extglob
ls +($(paste -s -d '|' t.txt))

打开 extglob 启用+(...) globbing,paste命令通过竖线分隔globbing列表中的元素。

相关问题