Linux Shell里用正则表达式匹配最后一个字符

dushuchen 2014-04-11 05:40:10
各位大牛晚上好

小弟最近学习Linux Shell 编写自定义 alias
当中遇到一个问题,请各位帮忙想想

怎样用正则表达式匹配字符串里的最后一个想要查找的字符?
比如字符串
/a/b/c/d/e/f.txt
中,要匹配最后一个/,然后用空格置换它,得到下面的字符串
/a/b/c/d/e f.txt
应该怎么写正则表达式?

多谢
--------------------------------------
其实具体需求是这样,自定义一个alias,名为xxxxxxx

输入指令
xxxxxxx /a/b/c/d/e/f.txt
输出
/a/b/c/d/e f.txt
...全文
971 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dushuchen 2014-04-18
  • 打赏
  • 举报
回复
引用 3 楼 cqlhj 的回复:
echo "/a/b/c/d/e/f.txt" | sed 's@/\([^\/]*\)$@ \1@g'
/a/b/c/d/e f.txt
Thank you
ljc007 2014-04-15
  • 打赏
  • 举报
回复
alias xxoo='sed "s/\/\([^\/]*\)$/ \1/" <<< '
xxoo /a/b/c/d/e/f.txt
cqlhj 2014-04-15
  • 打赏
  • 举报
回复
echo "/a/b/c/d/e/f.txt" | sed 's@/\([^\/]*\)$@ \1@g'
/a/b/c/d/e f.txt
dushuchen 2014-04-14
  • 打赏
  • 举报
回复
引用 1 楼 suxiaodong512228 的回复:

echo -n dirname /a/b/c/d/e/f.txt
echo basename /a/b/c/d/e/f.txt
貌似不行,basename和dirname不能同时放在一行里面使用 会报错
挥不去的思念 2014-04-12
  • 打赏
  • 举报
回复

echo -n dirname /a/b/c/d/e/f.txt
echo basename /a/b/c/d/e/f.txt

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧