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日

相关推荐

  • 编程与AI:时代的交汇

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

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

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

    2023年10月13日
    00
  • 机器学习和数学:如何衔接学科之桥

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

    2023年10月6日
    00
  • 探索Python编程:从入门到精通的完全指南

    故事时间:曾经,有一位朋友问我:“Python编程是什么?怎么学习它?我应该从哪里下载Python?有没有一些实用的代码示例?还有,有线上培训班吗?”这让我回想起了自己刚开始学习Python编程的时候,充满了好奇和渴望…

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

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

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

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

    2023年11月4日
    00
  • Linux新手应该知道的10个重要命令

    Linux是一个广泛使用的操作系统,尤其在服务器和开发领域非常受欢迎。无论您是Linux的新手还是有经验的用户,了解一些基本的Linux命令都是非常重要的。本教程将介绍10个新手应该知道的关键Linux命令,帮助您更好地…

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

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

    2023年7月29日
    00
  • SEO优化意见报告

    搜索引擎优化(SEO)是一种至关重要的数字营销策略,对于任何希望在网络上建立品牌和吸引流量的企业或个人都是必不可少的。本报告基于王大神的网站搜索词数据进行分析,提出一系列具体可行的SEO优化建议。 数据概览…

    2023年9月1日
    00
  • 盘点AIGC工具

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

    2023年4月6日
    00