我有几行代码,我只想过滤不同名称的.png文件。例如,我有这样的代码,如下所示。现在,我只想过滤具有.png扩展名的文件名,我想要的结果如下所示。
任何一种方法都值得赞赏,我正在拼命地研究这个解决方案,但没有找到完美的方法来实现它。
我想要的结果:
game/objects/rock_2_shadow.png,game/objects/stump_shadow.png,game/objects/tv.__png等等..。
这是代码:
{ 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"发布于 2021-07-12 08:03:38
它非常难看,但是如果您将所有数据放入一个名为data.json的文件中,您可以运行以下杀死程序:
linefeeds
name:
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结尾的行。
tr '"' '\n' < data.json | grep "\.png$"如果数据存储在名为data的data变量中,而不是存储在名为data.json的文件中,则只需使用以下语法:
echo "$data" | tr '"' '\n' | grep "\.png$"发布于 2021-07-19 01:11:45
grep -Eo '[0-9a-z_/]+\.png' your_file.txt 或
printf 'paste your code here' | grep -Eo '[0-9a-z_/]+\.png' 输出:
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.pnghttps://stackoverflow.com/questions/68343034
复制相似问题