如何在终端grep中保留npm链接文件夹的颜色
解决grep筛选时丢失npm链接文件夹颜色标识的问题
我懂你的痛点——一堆node_modules文件夹里找那个通过npm link关联的my-plugin,本来ls能通过特殊颜色一眼认出它是符号链接,结果用grep一筛选,grep的高亮直接盖掉了原有的链接颜色,完全分不清是不是目标链接了对吧?给你几个实用的解决办法:
方法一:让grep别抢颜色,保留ls的原始高亮
问题根源有两个:一是管道传输时ls会默认关闭颜色输出,二是grep会给匹配内容添加自身的高亮。我们可以通过参数调整来解决:ls --color=always node_modules | grep --color=never my-plugin其中
--color=always强制ls输出颜色控制码(哪怕是通过管道传输),--color=never让grep禁用自身的高亮功能,这样就能完整保留符号链接的原始颜色标识了。方法二:用find直接精准定位符号链接
既然我们明确要找的是符号链接,不如直接用find命令过滤文件类型,一步到位:find node_modules -type l -name "my-plugin"-type l指定只查找符号链接,-name "my-plugin"精准匹配文件名,find输出到终端时会自动保留符号链接的特殊颜色,不需要额外处理。方法三:直接用ls匹配文件名,跳过grep
如果my-plugin的名字在node_modules里是唯一的,直接让ls匹配对应的文件名即可,完全不需要grep:ls --color=always node_modules/my-plugin*这样
ls会直接显示目标文件夹,同时保留它的符号链接颜色标识,简单又高效。
内容的提问来源于stack exchange,提问作者Mosh Feu
相关产品推荐
相关产品推荐

