

掌握basename命令的使用方法,可以大大提高文件处理效率,尤其在编写shell脚本时更显得得心应手。通过实践和探索,你会发现basename命令在Centos7系统中的更多应用潜力。
Unix中shell脚本 中如何把变量截取
试没试过 basename命令和dirname命令呢? basename是取文件名,dirname是取目录。看下面的例子: shell> url=/home/g0/ shell> base=`basename $url` shell>echo $base结果为> url=/home/g0/ shell> base=`dirname $url`shell> echo $base结果为:/home/g0还有一种实现方法,效果一样的: ${url##*/}取出来结果是 ${url%/*} 取出来结果是/home/g0 或者可以尝试sed,不过需要正则式,不如上面说的简捷易懂
Linux 下,怎样删除某目录下 指定文件名长度的文件?例如删除所有文件名长度为36的文件
亲自验证Centos7下这条命令很危险ls | grep -E [0-9a-z]{36}得到的不是36长度的文件名可以这样rm -rf $(ls | awk {if(length($0)==5){print $0}})数字5即使文件名称长
写出命令$ basename
1.语法: basename 目录/文件名.后缀 [ 后缀 ]描述: 从给定的包含绝对路径的文件名中去除左边目录部分,返回剩下的文件名.后缀或者同时去除文件的后缀名,返回文件名(需指定[后缀]参数)例:(1)#basename /usr/local/share/doc/foo/执行结果 (2)#basename /usr/local/share/doc/foo/ 执行结果 foo2.语法:dirname 目录/文件名.后缀描述:从给定的包含绝对路径的文件名中去除文件名.后缀,然后返回剩下的路径(目录的部分)例:(1)# dirname /usr/home/drobbins执行结果 /usr/home (2)#dirname /boot/grub/执行结果 /boot/grub
发表评论