首页 > 解决方案 > 如何使用 Sed/gedit 删除文件中“:”之后的所有内容并将输出写入另一个文件?

问题描述

我有一个文本文件:

"postalAddress2": "Postal Address Line 2",
"postalCity": "Postal City",
"postalPostCode": "Postal Code",
"postalState": "State"

我需要删除第二列,即“:”之后的所有内容并删除所有换行符

预期输出:

"postalAddress2","postalCity","postalPostCode","postalState"

这可以在 gedit 中使用 sed 或 regex 来完成吗?

我尝试了这个正则表达式,但它不起作用:

.*\:(.*) \:.*

标签: awksedgedit

解决方案


请您尝试关注一次。

awk 'BEGIN{FS=":";OFS=","} {val=(val?val OFS:"")$1} END{print val}' Input_file

或者从@Sundeep 的评论中汲取灵感尝试:

awk 'BEGIN{FS=":"} {print $1}'  Input_file | paste -sd,

推荐阅读