Shell里的“魔术符号”,操控文件名与后缀

那年的夏天,王大神坐在阳光下,手中拿着一本厚厚的编程手册。这不是他的第一次与编程的邂逅,但每次深入探究,都有新的发现。他目光停留在Shell脚本的章节,那些繁复的命令特殊符号仿佛是魔法的咒语,只等着被他召唤。

A picture of an old wizard with a long beard, holding a magical wand, symbolizing the power of shell scripting.
A picture of an old wizard with a long beard, holding a magical wand, symbolizing the power of shell scripting.

Shell,简单而不简约

“有时候,为了一个小任务,确实没必要引入Python这样的大炮。”王大神自言自语,他意识到Shell本身就拥有着强大的能力。对于文件名和后缀名的处理,Shell提供了一些简洁而强大的方法。

${[#%]}:操控文件名的“魔术符号

假设你遇到了这样的文件名:file.tar.gz

想要获取它的后缀名,你可以用以下命令:

f=file.tar.gz
echo ${f##*.}

输出是:gz

而获取前缀,只需:

echo ${f%%.*}

输出是:file

这就像魔术一样,几乎不费吹灰之力。

如果文件路径稍显复杂,比如:file=/dir1/dir2/dir3/my.file.txt,Shell也能轻松应对。这需要借助以下的命令:

${file#*/}:dir1/dir2/dir3/my.file.txt
${file##*/}:my.file.txt
${file#*.}:file.txt
${file##*.}:txt
${file%/*}:/dir1/dir2/dir3
${file%%/*}:空值
${file%.*}:/dir1/dir2/dir3/my.file
${file%%.*}:/dir1/dir2/dir3/my

如此看来,#% 就像魔术师的手中的魔杖,左右摆弄,轻松得到想要的结果。

记忆的小技巧

对于初学者来说,这些符号可能有些晦涩。但王大神有一套记忆的小技巧:

  • # 去掉左边(键盘上 # 的左边,从左向右删)
  • % 去掉右边(键盘上 % 的右边,从右向左删)

再加上单一符号代表最小匹配,而两个符号则代表最大匹配,记忆起来就更加方便了。

终章

回想起当年对编程的热爱,王大神深感自己的选择是多么的正确。Shell的学习,不仅仅是技术的探索,更是对知识的渴望和对完美的追求。

编程,就像生活中的魔法,只要你掌握了它,就能创造无数的奇迹。

本文由作者 王大神 原创发布于 大神网的AI博客。

转载请注明作者:王大神

原文出处:Shell里的“魔术符号”,操控文件名与后缀

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年10月8日 下午6:29
下一篇 2023年10月8日

相关推荐

  • LeetCode 算法汇总—链表

    开篇故事: 从小学开始,数学就伴随着我们的成长。而如今,在计算机科学领域,算法就如同数学一样重要。这就像我们每天面对的一道谜题,需要巧妙的思考和解决。在这篇文章中,我将向你展示算法中一个重要而又有趣的…

    2023年10月10日
    0058
  • 从VCF到CSV:将联系人数据格式转换的Python教程

    在数字化时代,我们经常需要在不同的应用程序和设备之间共享联系人信息。然而,不同的应用程序和设备可能使用不同的联系人数据格式,这可能会导致数据转换的问题。在这篇文章中,我将向你介绍如何使用Python来将.vc…

    2023年9月27日
    00214
  • 盘点AIGC工具

    人工智能技术正在迅速崛起,改变了我们生活的方方面面。在创意领域,一种新的工具正逐渐崭露头角,那就是AIGC(Artificial Intelligence Generated Content)工具,它们利用人工智能技术生成文字、图片、视频、编程…

    2023年4月6日
    0046
  • 如何解决部分.webp图片无法在浏览器中渲染的问题

    在网站开发中,使用.webp格式的图片是提高网站性能和用户体验的一种重要方式。然而,有时候你可能会遇到一些.webp图片无法在浏览器中正确渲染的问题。这个问题可能会让你感到困惑,但不用担心,本教程将教你如何解…

    2023年11月4日
    00119
  • 编程与AI:时代的交汇

    在今天的教程中,我们将探讨一个备受瞩目的话题:人工智能(AI)如何与编程和操作系统相互交织,以及未来可能的走向。这个话题引发了广泛的讨论和思考,无论你是一位程序员、一名科技爱好者还是普通用户,都值得关…

    2023年10月5日
    0056
  • SDXL1.0体验报告:高效的AI图像生成工具的四大挑战

    在人工智能领域,图像生成是一个颇具挑战性的任务。SDXL,作为stable-diffusion的一个模型,具有高效生成图像的能力。然而,对于用户来说,如何在具体的操作过程中避免出错并最大化工具的性能,便是一项重要的技巧…

    2023年7月29日
    00329
  • 王大神解析:Cloudflare CDN的奥秘及其在AI领域的应用

    在我多年的技术探索之旅中,我深知一个拥有高速和稳定访问的网站对于吸引和保持用户的重要性。今天,让我们一起深入探究Cloudflare CDN技术的奥秘,以及它如何在AI技术领域大放异彩。 1. CDN技术的崛起 在数字世界…

    2023年9月7日
    00107
  • 站长权重暴涨与百度判罚:为何我把焦点转向Web3和虚拟货币

    "流量、权重、SEO…一切似乎都在指向成功的道路,直到百度突然改变了规则。一个低质量的标签就像一个破碎的镜子,让我看到了网络世界不断变化的现实。在反思和自我修正后,我意识到,传统的站长模式已不再适用…

    2023年10月30日
    00170
  • 深入探讨迭代器:编程中的神奇工具

    开篇故事:探秘迭代器的魅力 大家好,我是王大神,欢迎回到我的AI技术博客。今天,我们将探讨计算机编程中一个令人着迷的话题:迭代器(Iterator)。或许你曾听说过它,但它究竟是什么,又有什么神奇之处呢? 让我…

    2023年9月26日
    0077
  • 微信多开启动器——bat脚本轻松管理多个微信实例

    微信是我们日常生活和工作中不可或缺的通信工具,但有时我们可能需要同时管理多个微信账号,例如一个个人账号和一个工作账号。为了更方便地实现这一目标,我们可以使用微信多开启动器,它是一个简单而强大的工具,…

    2023年8月12日
    0081

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注