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日

相关推荐

  • 机器学习和数学:如何衔接学科之桥

    你好,亲爱的读者们!今天我将带你踏上一段关于机器学习和数学之间关系的探索之旅。或许你已经学完了微积分、线性代数、概率统计,然后心血来潮想要涉足机器学习和神经网络的领域。但是,如何将这些数学知识与机器…

    2023年10月6日
    00
  • 跨境电商:创业机会与挑战,让我们一同揭开谜底

    嘿,大家好!我是王大神,欢迎来到我的AI技术博客。今天,我要和你们一起聊聊跨境电商,这个充满机遇与挑战的领域,就像弹奏吉他的旋律一样充满活力。无需再使用沉闷的词汇,让我们一起探索这个引人入胜的话题吧。 …

    2023年9月27日
    00
  • 解决pip install报错的问题:一步步教你修复Python包安装错误

    在Python编程的过程中,使用pip来安装第三方包是家常便饭。然而,有时候你可能会遇到各种各样的错误,让你无法成功安装所需的包。在这篇文章中,我们将一步步解决pip install报错的问题,确保你能够顺利安装Python…

    2023年10月13日
    00
  • 体验神仙级AI代码生成器Amazon CodeWhisperer

    你是否曾经感到AI技术的崛起对程序员们来说是一个挑战?AI的到来改变了编程的方式,让许多人感到紧张。尽管我们无法阻止AI时代的到来,但我们可以利用AI的力量来提高我们的工作效率。最近,我发现了一个神奇的AI代…

    2023年10月6日
    00
  • 微信多开启动器——bat脚本轻松管理多个微信实例

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

    2023年8月12日
    00
  • 王大神网站近30日访问来源

    近日,我对王大神的网站访问数据进行了统计分析,发现了一些有趣的现象。在本文中,我将分享这些发现,并探讨它们对网站运营和SEO优化的影响。如果你是一位网站运营者或对SEO感兴趣,那么这篇文章将对你有所帮助。 …

    2023年4月21日
    00
  • 编程的奇妙之旅:Python多线程爬虫下载PDF教材

    有一天,当我坐在电脑前,思考着编程的奇妙之处时,一种冒险的感觉涌上心头。我想,为什么不用编程来探索互联网的深处,下载一些有趣的教材呢?于是,我开始了这次奇妙的编程之旅,带着好奇心和激情,我将向你展示…

    2023年10月4日
    00
  • 创建一个SEO友好的网站:提高排名的8个关键步骤

    在当今数字化时代,拥有一个优化的网站对于个人品牌或业务至关重要。无论您是一个自由职业者还是一家企业,通过优化您的网站,可以提高在线可见性,吸引更多的访问者,并最终增加潜在客户和收入。本教程将为您介绍…

    2023年12月8日
    00
  • 如何使用Python批量复制文件并按照规则整理

    你是否曾经遇到过这样的情景:你有一堆文件需要整理,按照一定的规则复制到不同的文件夹中,但手动复制会耗费大量的时间和精力。或者你需要将文件按照日期、类型或其他条件进行分类整理,但不知道如何批量处理它们…

    2023年9月27日
    00
  • LeetCode 算法汇总—链表

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

    2023年10月10日
    00