我有一个 PNG 文件的目录,根据内容的描述命名,例如:
\n\nimages/blueberry.png\nimages/blueberry_garden.png\nimages/blueberry_painting.png\nimages/carrot_garden.png\nRun Code Online (Sandbox Code Playgroud)\n\n我还有一个关键字列表,例如:
\n\nblueberry\ngarden\nRun Code Online (Sandbox Code Playgroud)\n\n我只需从images/其中复制一个文件output/,以便有一个与关键字完全相同的图像,例如:
images/blueberry.png \xe2\x86\x92 output/blueberry.png\nimages/blueberry_garden.png \xe2\x86\x92 output/garden.png\nRun Code Online (Sandbox Code Playgroud)\n\n从哪一个匹配文件复制并不重要image/,只要它包含关键字即可。
在 BASH 脚本中,我有这一行,查找包含单词“garden”的文件并将其复制到output/garden.png:
cp images/*garden* output/garden.png\nRun Code Online (Sandbox Code Playgroud)\n\n如果它只找到一个与该文件匹配的文件,则可以正常复制。然而,当它找到多个匹配项时,它不会复制任何内容。
\n\n如何复制文件,以便仅选择可能的匹配项之一进行复制?
\n将匹配的文件名放入数组中,然后复制数组的第一个元素。
files=(images/*garden*)
cp "${files[0]}" output/garden.png
Run Code Online (Sandbox Code Playgroud)