博客
关于我
SHELL命令
阅读量:297 次
发布时间:2019-03-03

本文共 1236 字,大约阅读时间需要 4 分钟。

basename返回一个字符串参数的基本文件名称。

语法:
       basename String [ Suffix ]
描述
      basename 命令读取 String 参数,删除以 /(斜杠) 结尾的前缀以及任何指定的 Suffix 参数,并将剩余的基本文件名称写至标准输出。
basename 命令应用以下创建基本文件名称的规则:
     如果 String 参数是 //(双斜杠) 或如果 String 参数包含的都是斜杠字符,则将字符串更改为单个 /(斜杠)。跳过步骤 2 到 4 从指定字符串除去任何拖尾的 / 字符。
     如果在 String 参数中剩余任何 / 字符,则除去字符串的前缀直到(包含)最后一个 / 字符。
     如果指定 Suffix 参数,且它和字符串中的剩余的字符相同,则不修改此字符串。
     如果指定 Suffix 参数,且它和字符串中所有字符都不相同,但和字符串的后缀相同,则除去指定后缀
例如,输入:
basename /home/oracle/1.txt  1.txt
结果是: 1.txt
basename /home/oracle/1.txt  .txt
结果是:1
接下来做一些测试:
>[/home/service/hs/temp]$basename 1.txt.old1.txt.old>[/home/service/hs/temp]$basename /1/1.txt.old1.txt.old>[/home/service/hs/temp]$basename /home/home/ 1home>[/home/service/hs/temp]$basename /home/home1  1home>[/home/service/hs/temp]$basename /home/home1  1home>[/home/service/hs/temp]$basename /home/home1  2home1>[/home/service/hs/temp]$basename /home/home1  1 2  basename: too many argumentsTry `basename --help' for more information.>[/home/service/hs/temp]$basename /home/home1/123/ 312>[/home/service/hs/temp]$basename /home/home1/124/ 3124

目录下有同名的文件

1.c 1.o 1.x

用命令重名成

1.c.bak 1.o.bak 1.x.bak

>[/home/service/hs/temp]$find . -name "1.[cox]" |xargs -i basename {}|xargs -t -i mv {} {}.bakmv 1.c 1.c.bakmv 1.o 1.o.bakmv 1.x 1.x.bak

转载地址:http://gfdq.baihongyu.com/

你可能感兴趣的文章
【更新】CLion v2018.3发布(六):VCS和插件
查看>>
文件服务器——src文件夹
查看>>
从零构建通讯器--4.4-4.5信号在创建线程的实战作用、write函数写入日志设置成不混乱、文件IO详解
查看>>
从零构建通讯器--5.2三次握手,telnet,wireshark
查看>>
如何判断两个浮点数是否相等?
查看>>
2021牛客寒假算法基础集训营3
查看>>
苹果进军搜索,背后藏着什么“阳谋”?
查看>>
egg:如何在控制器中拿到前端传的参数
查看>>
MVC之修改
查看>>
struct 模块
查看>>
python之集合类型内置方法
查看>>
编程与编程语言分类
查看>>
【 UVA - 572 】 Oil Deposits (DFS水题)
查看>>
约瑟夫环问题
查看>>
CF #716 (Div. 2) B. AND 0, Sum Big(思维+数学)
查看>>
Java 設計模式 - 建造者模式
查看>>
ES6 JavaScript 重新認識 Promise
查看>>
分享九款不同页面404源码html
查看>>
404页圈小猫游戏代码
查看>>
好看清新卡通人物404单页网站源码
查看>>