首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有任何方法仅通过任何方法过滤.png文件?

是否有任何方法仅通过任何方法过滤.png文件?
EN

Stack Overflow用户
提问于 2021-07-12 06:50:54
回答 2查看 95关注 0票数 0

我有几行代码,我只想过滤不同名称的.png文件。例如,我有这样的代码,如下所示。现在,我只想过滤具有.png扩展名的文件名,我想要的结果如下所示。

任何一种方法都值得赞赏,我正在拼命地研究这个解决方案,但没有找到完美的方法来实现它。

我想要的结果:

game/objects/rock_2_shadow.png,game/objects/stump_shadow.png,game/objects/tv.__png等等..。

这是代码:

代码语言:javascript
复制
{ bytes: 4531, md5: "DLKvNDSl0Q3y0tlFGNol_A", name: "game/objects/rock_2.png" }, { bytes: 4208, md5: "z1v6RXDu0F6WXFyyBGsBKg", name: "game/objects/rock_2.webp" }, { bytes: 741, md5: "DlK9Ugd6e5L-99V-ryGoiA", name: "game/objects/rock_2_shadow.png" }, { bytes: 448, md5: "e68ha5bvslyYsG_8Kr1dtQ", name: "game/objects/rock_2_shadow.webp" }, { bytes: 3125, md5: "t3eBjoR_9QzrRMgJzlgWCA", name: "game/objects/rock_3.png" }, { bytes: 2670, md5: "z_w1xtubTBXfp0DHun_pHQ", name: "game/objects/rock_3.webp" }, { bytes: 618, md5: "c-l97Wj4nZySEnf2XBAt1Q", name: "game/objects/rock_3_shadow.png" },
                        { bytes: 358, md5: "SJ49Ew6HkE_p02XywWjScA", name: "game/objects/rock_3_shadow.webp" }, { bytes: 4746, md5: "OSK4VYwv_rAdto2dRIgQzg", name: "game/objects/rock_4.png" }, { bytes: 4254, md5: "XkG3_lsGLNIbldhgYQzvkQ", name: "game/objects/rock_4.webp" }, { bytes: 737, md5: "zu4RoYT2e32KZ5IBi1zFwg", name: "game/objects/rock_4_shadow.png" }, { bytes: 444, md5: "S5lQ1bd3RhP4oubg-Zgzfw", name: "game/objects/rock_4_shadow.webp" }, { bytes: 8121, md5: "CabdI9rn-lvkEiEDDUw1XQ", name: "game/objects/stump.png" }, { bytes: 7848, md5: "NerEGkPWl7aGm5vExwUf5g", name: "game/objects/stump.webp" },
                        { bytes: 980, md5: "ipcG0uMYI9BG8FM8fK6k_Q", name: "game/objects/stump_shadow.png" }, { bytes: 666, md5: "fkLA18GD8gItBTbOVJnPog", name: "game/objects/stump_shadow.webp" }, { bytes: 13840, md5: "v6Nxnc6mADteI8cxC_GPiA", name: "game/objects/table.png" }, { bytes: 13144, md5: "xiMMaXe48fR5QLQ0DCD2qw", name: "game/objects/table.webp" }, { bytes: 1556, md5: "FVUAV5dhR4uwaCNkfgkQJg", name: "game/objects/table_shadow.png" }, { bytes: 1092, md5: "XLhQsppcDFFPlADxuhATEw", name: "game/objects/table_shadow.webp" }, {
                            name: "game/objects/tv.png"
EN

回答 2

Stack Overflow用户

发布于 2021-07-12 08:03:38

它非常难看,但是如果您将所有数据放入一个名为data.json的文件中,您可以运行以下杀死程序:

linefeeds

  • looks

  • 将字符串name:

  • prints的所有逗号转换为,不管后面是双引号

代码语言:javascript
复制
tr , '\n' < data.json | awk -F'"' '/name:/{print $2 }'

game/objects/rock_2.png
game/objects/rock_2.webp
game/objects/rock_2_shadow.png
game/objects/rock_2_shadow.webp
game/objects/rock_3.png
game/objects/rock_3.webp
game/objects/rock_3_shadow.png
game/objects/rock_3_shadow.webp
game/objects/rock_4.png
game/objects/rock_4.webp
game/objects/rock_4_shadow.png
game/objects/rock_4_shadow.webp
game/objects/stump.png
game/objects/stump.webp
game/objects/stump_shadow.png
game/objects/stump_shadow.webp
game/objects/table.png
game/objects/table.webp
game/objects/table_shadow.png
game/objects/table_shadow.webp
game/objects/tv.png

您可以为png添加一个额外的过滤器。

你可能会发现这更简单。它将所有双引号音译为换行符,并查找以.png结尾的行。

代码语言:javascript
复制
tr '"' '\n' < data.json | grep "\.png$"

如果数据存储在名为datadata变量中,而不是存储在名为data.json的文件中,则只需使用以下语法:

代码语言:javascript
复制
echo "$data" | tr '"' '\n' | grep "\.png$"
票数 0
EN

Stack Overflow用户

发布于 2021-07-19 01:11:45

代码语言:javascript
复制
grep -Eo '[0-9a-z_/]+\.png' your_file.txt 

代码语言:javascript
复制
printf 'paste your code here' | grep -Eo '[0-9a-z_/]+\.png' 

输出:

代码语言:javascript
复制
game/objects/rock_2.png
game/objects/rock_2_shadow.png
game/objects/rock_3.png
game/objects/rock_3_shadow.png
game/objects/rock_4.png
game/objects/rock_4_shadow.png
game/objects/stump.png
game/objects/stump_shadow.png
game/objects/table.png
game/objects/table_shadow.png
game/objects/tv.png
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68343034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档