有没有什么软件,可以快速查询一个文件夹里所有文件(包含子文件夹)中的内容(字符串)? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
youla
V2EX    程序员

有没有什么软件,可以快速查询一个文件夹里所有文件(包含子文件夹)中的内容(字符串)?

  •  
  •   youla 2020-12-09 10:18:21 +08:00 7904 次点击
    这是一个创建于 1769 天前的主题,其中的信息可能已经有所发展或是发生改变。

    伸手。

    第 1 条附言    2020-12-09 13:18:22 +08:00
    不是我要故意无视 grep/findstr 的,是我在看到 Filelocator 时就已经明确这才是我要的软件,而不是 command 。

    因为在做一个软件汉化,代码写得一言难尽,没考虑多语言的软件,字符串全在代码里,用 grep 、findstr 显然不行吧,累。
    第 2 条附言    2020-12-09 13:19:26 +08:00
    正确答案也是基于使用场景的正确答案,而不是仅仅有这个功能。
    第 3 条附言    2020-12-10 09:42:05 +08:00
    我说不要 command,还抬杠 command 是软件,无聊吧??
    第 4 条附言    2020-12-10 09:43:55 +08:00
    文件夹不知道多少层,底下也不知道多少文件,用 command 明显没有图形化界面的软件快速好吧。
    第 5 条附言    2020-12-15 11:06:07 +08:00
    我都说了不要 command,怎么又成我不会 command 了??还我抬杠??最底下的人搞笑吧??

    难道我说我不想吃饭都能成抬杠吗??对,我他妈的就是不会吃饭。

    张口就别人不会命令行,你是知道的真多啊!!
    83 条回复    2022-04-23 21:38:09 +08:00
    msg7086
        1
    msg7086  
       2020-12-09 10:19:26 +08:00   3
    grep
    youla
        2
    youla  
    OP
       2020-12-09 10:19:46 +08:00
    AnyTXT Searcher
    shortmund
        3
    shortmund  
       2020-12-09 10:19:46 +08:00
    grep -r
    shlabc
        4
    shlabc  
       2020-12-09 10:26:01 +08:00   2
    FileLocator windows 下很好用
    annielong
        5
    annielong  
       2020-12-09 10:27:41 +08:00
    windows 下有一个 70 多 kb 的小工具,就像窗口就像 windows 内置的对话框一样,连名字都没有,可以查找 txt 和 htm 文件,
    youla
        6
    youla  
    OP
       2020-12-09 10:29:03 +08:00
    @annielong 厉害了~~


    @shlabc 很好用~~~找到了!!
    Vegetables
        7
    Vegetables  
       2020-12-09 10:46:15 +08:00
    emeditor 文件搜索
    vx812574395
        8
    vx812574395  
       2020-12-09 10:48:29 +08:00 via iPhone
    notepad++了解下?
    victor97
        9
    victor97  
       2020-12-09 10:56:07 +08:00 via Android
    findstr
    heyjei
        10
    heyjei  
       2020-12-09 10:58:47 +08:00 via Android
    windows 10 自带的搜索不好用嘛
    Lemeng
        11
    Lemeng  
       2020-12-09 10:59:18 +08:00
    搜索文件? everting?这类的
    fanyange
        12
    fanyange  
       2020-12-09 11:00:53 +08:00 via iPhone
    Mac 下 devonthink
    vx812574395
        13
    vx812574395  
       2020-12-09 11:01:52 +08:00 via iPhone
    bbdoc 了解下。electron 无处不在~
    bluehr
        14
    bluehr  
       2020-12-09 11:07:30 +08:00
    我以为大部分人都是用 everything 呢,没想到还有这么多软件。
    shuianfendi6
        15
    shuianfendi6  
       2020-12-09 11:16:26 +08:00
    ripgrep
    mcfog
        16
    mcfog  
       2020-12-09 11:23:37 +08:00 via Android
    如果是代码的话,ag ( the silver searcher )
    GrayXu
        17
    GrayXu  
       2020-12-09 11:27:36 +08:00
    grep -r 不需要装额外软件
    villivateur
        18
    villivateur  
       2020-12-09 11:41:00 +08:00
    vscode
    Elethom
        19
    Elethom  
       2020-12-09 11:42:26 +08:00 via iPhone   1
    @msg7086
    就猜会不会有人说 grep 。
    就猜会不会有人说了 grep 然后被 po 主无视。
    竟然都猜中了。
    zqz981
        20
    zqz981  
       2020-12-09 11:45:33 +08:00
    grep -r -an "字符串"
    aloxaf
        21
    aloxaf  
       2020-12-09 11:52:44 +08:00   1
    @Elethom
    确实,这种现象挺常见的。
    有时候在群里看到别人提问,明明已经有人给出了精准的回答,提问的人却和没看见一样。
    实在想不通为什么……
    charseer
        22
    charseer  
       2020-12-09 12:04:07 +08:00
    ripgrep-all rga
    codyfeng
        23
    codyfeng  
       2020-12-09 12:19:07 +08:00 via Android
    grep -r /any/path -e anyregex
    des
        24
    des  
       2020-12-09 12:23:18 +08:00 via iPhone
    @Elethom 你们都没发现 po 用的是 windows 吗
    @aloxaf
    wjm2038
        25
    wjm2038  
       2020-12-09 12:25:10 +08:00 via Android
    @des Windows 也可以下载啊。。
    9LCRwvU14033RHJo
        26
    9LCRwvU14033RHJo  
       2020-12-09 12:58:48 +08:00
    @Elethom
    就猜会不会有人说 findstr
    就猜会不会有人说了 findstr 然后被众人无视
    竟然都猜中了。
    for windows
    darknoll
        27
    darknoll  
       2020-12-09 13:00:45 +08:00
    vs
    vscode
    不都可以吗
    SuperMild
        28
    SuperMild  
       2020-12-09 13:01:33 +08:00
    如果文件不多,并且只查纯文本,很多工具可以用。

    如果文件很多,或都还要查 word/ppt 里面的文字,那 windows 自带的搜索功能就非常强大了,有索引,并且可以自由选择建索引的文件夹。
    darknoll
        29
    darknoll  
       2020-12-09 13:01:38 +08:00
    @bluehr everything 能搜文件内容?
    cmostuor
        30
    cmostuor  
       2020-12-09 13:09:47 +08:00
    @darknoll everything 搜索文档有 content:<text> 搜索文本内容. 你试试
    youla
        31
    youla  
    OP
       2020-12-09 13:14:19 +08:00
    @Elethom
    @aloxaf 主要是不属于我的应用场景吧,我要一个精准查找删除,用命令未免不是太麻烦,我也知道有 gnuwin32 。
    cmostuor
        32
    cmostuor  
       2020-12-09 13:32:09 +08:00
    @darknoll 试了一下简直卡的要死还不如 用 win 版的 busybox 里面的 grep 来的快
    cmostuor
        33
    cmostuor  
       2020-12-09 13:34:31 +08:00
    @vx812574395 npp 的作者有过反华言论 国内很多爱国的程序员基本不会用
    bluehr
        34
    bluehr  
       2020-12-09 13:37:35 +08:00
    qwe
    @darknoll 能呀,在 everything -> 工具栏(搜索) -> 高级搜索 -> 文件内容中包含的单词或者短语。 用熟练后还可以直接 搜索框 content 搜索
    tinyRat
        35
    tinyRat  
       2020-12-09 13:47:36 +08:00
    rigrep
    sorke
        36
    sorke  
       2020-12-09 14:18:15 +08:00
    vscode
    YuTengjing
        37
    YuTengjing  
       2020-12-09 15:23:01 +08:00
    vscode ctrl/cmd + shift + f
    bipy
        38
    bipy  
       2020-12-09 16:26:19 +08:00
    vscode +1
    ScoutWang
        39
    ScoutWang  
       2020-12-09 18:48:56 +08:00 via iPhone
    资源管理器搜索栏里:“内容:关键字”
    eggry
        40
    eggry  
       2020-12-09 20:16:31 +08:00 via Android
    vscode+1 打开该文件夹,用楼上的 ctrl+shift+f,非常方便
    secondwtq
        41
    secondwtq  
       2020-12-09 20:32:24 +08:00
    楼主主题就没写清楚,append 还是继续犯错误 ...

    你所谓的 "command",也是“软件”。或者要是按照 FSF 那群人的想法,所谓"command"是最基础的“软件”。网站、字体、硬件里的固件,都是“软件”
    LJ2010
        42
    LJ2010  
       2020-12-09 20:33:16 +08:00
    utools
    akaayy
        43
    akaayy  
       2020-12-09 20:58:48 +08:00
    @annielong 你勾起了我的兴趣?怎么找到它?有路径或者截图吗,文件名?
    hehe520347
        44
    hehe520347  
       2020-12-09 22:24:16 +08:00
    findstr !!!
    Altar
        45
    Altar  
       2020-12-09 22:32:37 +08:00
    counsel-rg
    psuwgipgf
        46
    psuwgipgf  
       2020-12-09 22:56:26 +08:00
    @YuTengjing 才知道 vscode 还有这个功能,感觉很好用。
    msg7086
        48
    msg7086  
       2020-12-10 00:04:22 +08:00
    建议下次可以把需求写得明确一些。
    我倒不是觉得被 offend 了,只是如果能写得明确一些的话,可以节约很多人的时间。
    不仅仅是你的时间,还包括回答者的。

    我自己做搜索,grep 和 vscode 都用,两个我觉得都挺好用的。
    laminux29
        49
    laminux29  
       2020-12-10 02:42:07 +08:00
    这种搜索不能用基于分词搜索原理的软件,只能用基于 strfind 原理的,推荐 Ultra Edit 。
    autoxbc
        50
    autoxbc  
       2020-12-10 03:24:21 +08:00
    自己用脚本语言写一个查找工具,就可以用高级语言描述你的查找要求,这个表现力碾压任何现成的查找软件
    xcstream
        51
    xcstream  
       2020-12-10 04:57:58 +08:00
    idea 打开文件夹 自动索引
    LudwigWS
        52
    LudwigWS  
       2020-12-10 08:41:58 +08:00 via iPhone
    @cmostuor 反正是免费软件
    jakehu
        53
    jakehu  
       2020-12-10 08:52:13 +08:00
    ack
    sujiahang
        54
    sujiahang  
       2020-12-10 09:32:08 +08:00
    AnyTXT Searcher
    xchaoinfo
        55
    xchaoinfo  
       2020-12-10 09:33:30 +08:00
    sublime text ctrl+shift+F 也可以搜索当前文件夹内的 文本,
    阅读源码经常这么用, 非常方便
    NewIPIsComing
        56
    NewIPIsComing  
       2020-12-10 09:38:22 +08:00
    然我已知道主不是要找命令行程序,但我是忍不住推一成的命令:
    #替文件中所有文件中的 old_string new_string
    grep -rl "old_string" . | xargs sed -i 's/old_string/new_string/g'

    # grep -rl: search recursively, and only print the files that contain “old_string”
    # xargs: take the output of the grep command and make it the input of the next command (ie, the sed command)
    # sed -i ‘s/old_string/new_string/g’: search and replace, within each file, old_string by new_string
    youla
        57
    youla  
    OP
       2020-12-10 09:40:39 +08:00
    @secondwtq "快速查询一个文件夹里所有文件(包含子文件夹)中的内容(字符串)",如果是 command,子文件夹查找就已经和快速基本没什么关系了,你非要抬杠,我也没办法,你认为 command 是软件,也没什么问题,我只认图形界面的叫软件,因为我懒得抬杠。
    f6x
        58
    f6x  
       2020-12-10 09:47:39 +08:00
    我只认图形界面的叫软件
    @youla 请把这句写在标题里. 不然很多人会点进来.
    youla
        59
    youla  
    OP
       2020-12-10 09:52:24 +08:00
    @f6x 你改个表字段不就行了,我又没有权限改。
    LikeMurphy
        60
    LikeMurphy  
       2020-12-10 10:01:21 +08:00
    vscode
    klgd
        61
    klgd  
       2020-12-10 10:13:42 +08:00
    vscode+1
    celeron533
        62
    celeron533  
       2020-12-10 10:16:59 +08:00
    windows 下可以试试 astrogrep,开源免费
    yorkw
        63
    yorkw  
       2020-12-10 10:17:47 +08:00
    UltraEdit,不过是收费的
    raptor
        64
    raptor  
       2020-12-10 10:22:09 +08:00
    》我只认图形界面的叫软件
    》 @youla 请把这句写在标题里. 不然很多人会点进来.

    我就是这样误入的。grep 这么简单的事情还要问。当然 GUI 的话 JB 家的 IDE 也都没问题。
    youla
        65
    youla  
    OP
       2020-12-10 10:22:37 +08:00
    @raptor 你改个表字段不就行了,我又没有权限改。
    youla
        66
    youla  
    OP
       2020-12-10 10:29:06 +08:00
    @raptor 顺便再补充一下,我也知道 grep,但是 grep 不快速啊??有 n 级路径,n 个要替换的字符串,怎么个快速法。
    golp2000
        67
    golp2000  
       2020-12-10 17:02:12 +08:00
    3 楼就说了,grep 有参数可以搜索子目录,不影响的 @youla
    youla
        68
    youla  
    OP
       2020-12-10 17:53:15 +08:00
    @golp2000 我只是说有很多内容要替换时,不快,我没有说不行。
    vx812574395
        69
    vx812574395  
       2020-12-11 10:43:46 +08:00 via iPhone
    @cmostuor 是吗?对他不是很熟~不过工具确是蒸好用!
    secondwtq
        70
    secondwtq  
       2020-12-11 22:05:41 +08:00
    @youla #57 我在 #41 里面后面那些例子可能有些奇葩,本站是普遍认同“command”是“软件”,你就算不知道看到后面回复应该也知道了,然后还“只认图形界面的叫软件”,我觉得这才叫抬杠。

    另外,现有的“查找”这个需求,做得最快的,或者最快的之一,应该有那么一个或者几个命令行软件。命令行在“查找”这方面是不差的。“替换”的话,按规则的批量替换也是命令行最快,交互式的替换现在 GUI 做得也不错,使用 ncurses 界面的 vim 和 emacs 也能做。
    不过我寻思不论是主题还是 #57 都没说“替换”啊 ...
    youla
        71
    youla  
    OP
       2020-12-12 18:54:31 +08:00 via Android
    @secondwtq 我都说了不要 command,你还说 command 的是软件不,是你抬杠是谁抬杠???难道 grep 不是 command ??
    secondwtq
        72
    secondwtq  
       2020-12-12 19:39:45 +08:00
    @youla #71 我是提醒你本站是认为“command 属于软件”的,和你要不要 command 没有关系。

    再说了,你可以不认 command 是软件,我也不可以不认我“抬杠”啊。
    secondwtq
        73
    secondwtq  
       2020-12-12 19:40:00 +08:00
    @secondwtq #72 s/不可以 /可以
    youla
        74
    youla  
    OP
       2020-12-13 14:01:14 +08:00
    @secondwtq 你说 command 是软件没问题啊,但我重点已经说了不要 command,你还要怎么样?? command 是软件就不是 command 了???杠精????
    secondwtq
        75
    secondwtq  
       2020-12-13 14:02:31 +08:00
    @youla 你看,你说你知道 command 是软件就可以了。那个七划的字就没必要说了。
    secondwtq
        76
    secondwtq  
       2020-12-13 14:06:51 +08:00
    @youla #74
    > 你还要怎么样

    我之所以要强调(在本站的环境下)”command”是软件,就是因为本主题标题中要求的是“软件”,但是你实际需要的是“GUI 软件”(就不说具体需求是好久之后才 append 过去的了)。这导致大家不能理解你的实际需求,出现了一些没有实际帮助的回复。
    你现在知道了“command 是软件”,以后求助会更顺利一点。
    secondwtq
        77
    secondwtq  
       2020-12-13 14:13:13 +08:00
    哦对了,我也没有权限”改个表字段”。
    youla
        78
    youla  
    OP
       2020-12-13 14:15:51 +08:00
    @secondwtq 我只知道我 append 不要 command 时,你还没回复,我一直知道 command 是软件,我只是认为提问时我说软件可能大部分人会认为是带 GUI 界面的软件,我以后若是提问会说图形化界面的软件,防止杠精。
    youla
        79
    youla  
    OP
       2020-12-13 14:16:31 +08:00
    @secondwtq 你当然没有权限,不然你还会来抬杠??不早就把我 delete 了
    secondwtq
        80
    secondwtq  
       2020-12-13 14:23:37 +08:00
    @youla
    #78 ”提问会说图形化界面的软件”并不是为了“防止杠精”,而是为了问题能更好地被解决。
    #79 你为什么假设我会把你删除?
    这么说吧,如果我有权限的话,我会更改 V2EX 的算法,我对本站的主题排序算法不是很满意。比如隔壁 https://v2ex.com/t/734272 这个主题,点击率只有该主题的 4% 左右。
    raptor
        81
    raptor  
       2020-12-14 09:56:37 +08:00
    @youla 你杠这么多还不如直接说你不会用 CLI
    youla
        82
    youla  
    OP
       2020-12-15 11:02:09 +08:00
    @raptor 你就是个憨憨、是我杠吗??我不是说了不要 command 吗?谁不会??只是对我目前的东西而言没效率。
    beyondex
        83
    beyondex  
       2022-04-23 21:38:09 +08:00
    免费的有 anytxt ,不过功能比较简单,付费的有 Sea Desktop Search ,可以免费试用。
    https://seadesktopsearch.com/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1398 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 16:59 PVG 00:59 LAX 09:59 JFK 12:59
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86