sed:只是试图删除一个子字符串

新手上路,请多包涵

我有一个包含以下内容的文件:

 foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5

我想删除链“foo:”所以文件仍然存在:

 bar1
bar2
bar3
...

我正在尝试:

 $ sed 's/foo: /' file.txt

但它说:

sed: -e 表达式 #1, char 15: 未终止的 `s’ 命令

有什么帮助吗?

哈维

原文由 user1077220 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 435
2 个回答

你需要:

 $ sed -r 's/^foo: //' file.txt

原文由 aefxx 发布,翻译遵循 CC BY-SA 3.0 许可协议

你的 file

 [jaypal:~/Temp] cat file
foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5

使用 awk

 [jaypal:~/Temp] awk -F";" '{print $NF}' file
bar1
bar2
bar3
bar4
bar5

使用 sed

 [jaypal:~/Temp] sed 's/.*;//' file
bar1
bar2
bar3
bar4
bar5

使用 cut

 [jaypal:~/Temp] cut -d";" -f2 file
bar1
bar2
bar3
bar4
bar5

原文由 jaypal singh 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题