我如何从我的计算机收集所有 svg 图标?

我如何从我的计算机收集所有 svg 图标?

我想利用安装在我电脑上的所有图标来制作艺术品、海报和设计,让它们都可以从 inkscape 轻松浏览的最佳方法是什么?

答案1

如果您想将它们全部复制到一个目录中,请尝试以下操作:

sudo updatedb
mkdir $HOME/svg
locate *.svg | awk -F'/' '{X=NF-1;Y=NF-2;Z=NF-3}{ system("cp "$0" '$HOME'/svg/"$Z"\"-\""$Y"\"-\""$X"\"-\""$NF) }'

这会将所有 SVG 文件复制到您主目录中的 svg 文件夹中。当然,您可以根据需要调整这些路径。由于许多系统 SVG(图标集)在主题中的名称相同。这会将它们复制到 SVG 文件夹中,如下所示:

/usr/share/icons/Humanity/actions/22/mail-read.svg意味着~/svg/Humanity-actions-22-mail-read.svg您可以在一个 Nautilus 文件夹中查看它们,而不必遍历通常繁琐的目录结构。

另一种选择是将所有 SVG 保存在同一位置,但在主题图标集更新时更新它们,即将它们全部符号链接到该文件夹​​。只要您在处理它们时执行“另存为”而不是覆盖图标:

sudo updatedb
mkdir $HOME/svg
locate *.svg | awk -F'/' '{X=NF-1;Y=NF-2;Z=NF-3}{ system("ln -s "$0" '$HOME'/svg/"$Z"\"-\""$Y"\"-\""$X"\"-\""$NF) }'

答案2

在鹦鹉螺中:

  1. 转到 /usr/
  2. 单击搜索按钮并输入 .svg
  3. 转到书签窗口并点击“添加书签”

虚拟搜索文件夹将自动更新。更新速度不会很快……但应该可以。

答案3

您可以使用locate,它速度很快,但只包含自上次执行updatedb以来的文件(通常从/etc/cron.daily/mlocate执行)

locate -i *.svg

-i 选项使模式不区分大小写。

答案4

sudo find / -name *.svg 

这将列出所有带有 .svg 扩展名的文件

要将输出保存到文件:

sudo find / -name *.svg > output.txt

更新: 将所有 .svg 文件复制到特定文件夹

find ./ -name "*.svg" -exec cp '{}' ./mnt/output_folder/ ';'

这会将所有 .svg 文件复制到 /mnt/output_folder

相关内容