You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取文件多行内容并作为grep的-e模式参数

解决方法

直接用grep的-f参数就能实现,这是最简洁且高效的方式,完全不需要循环:

ls -lart | grep -f t.txt

原理说明

grep -f <文件名> 会读取文件里的每一行内容,将其作为独立的匹配模式,效果和手动写多个-e 参数完全一致。比如你的t.txt里有John、Alex、Danny三行,这条命令就等价于ls -lart | grep -e John -e Alex -e Danny。

额外方案(如果需要显式生成-e参数)

如果一定要生成带-e的参数列表,可以用sed配合命令替换实现:

ls -lart | grep $(sed 's/^/-e /' t.txt)

sed在这里把每一行的开头加上-e ,比如把John变成-e John,最终拼接成-e John -e Alex -e Danny传给grep。不过这种方式如果文件名包含空格或特殊字符时需要额外处理,不如-f参数可靠。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 18:52:02