加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – sed – 删除破折号前的所有字符

发布时间:2020-12-15 22:27:52 所属栏目:安全 来源:网络整理
导读:我有文件列表,我想在第一个实例之前删除所有字符 – .因此,Before:列表中的以下名称显示为After:列表中的名称. Before:Adam James - Welcome Home.txtMike Harry - One Upon - A Time.txtWilliam-Kent - Prince The Frog.txtAfter:Welcome Home.txtOne Upo
我有文件列表,我想在第一个实例之前删除所有字符 – .因此,Before:列表中的以下名称显示为After:列表中的名称.

Before:
Adam James - Welcome Home.txt
Mike & Harry - One Upon - A Time.txt
William-Kent - Prince & The Frog.txt

After:
Welcome Home.txt
One Upon - A Time.txt
Prince & The Frog.txt

我一直玩sed好几个小时但没有用.

我发现sed的/ – .* //’在第一个实例之后删除了所有字符 – 但我以前找不到相同的字符.

解决方法

使用awk你可以做到:

awk 'BEGIN{FS=OFS="- "} NF>1{$1="";sub(/^- */,"")}'1 inFIle

现场演示:http://ideone.com/2tBU4v

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读