取文件这个shell写法看不懂
a=/home/aguo/insert.test.sql
a=${a%%.*} && a=${a##*/} && echo $a
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
a=/home/aguo/insert.test.sql
a=${a%%.*} && a=${a##*/} && echo $a
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
$ a=/home/aguo/insert.test.sql
$ a=${a%%.*}
$ echo $a
/home/aguo/insert
$ a=${a##*/}
$ echo $a
insert
$ a=/home/aguo/insert.test.sql
$ a=${a%%.*}
$ echo $a
/home/aguo/insert
$ a=${a##*/}
$ echo $a
insert
这样也行
$ echo /home/aguo/insert.test.sql | cut -f1 -d. | cut -f4 -d/
insert
正则里边貌似是取后缀以及前缀相关
${a%%.*} ,主要是没见过这种写法啊?能稍微讲讲吗?正则也不是这样写的吧,谢谢
我自己查了下shell字符串截取,懂了,谢谢
$ a=/home/aguo/insert.test.sql
$ a=${a%%.*}
$ echo $a
/home/aguo/insert
$ a=${a##*/}
$ echo $a
insert