Awk 如何使用Sed/gedit删除“a”之后的所有内容:&引用;在一个文件中并将输出写入另一个文件?

Awk 如何使用Sed/gedit删除“a”之后的所有内容:&引用;在一个文件中并将输出写入另一个文件?,awk,sed,gedit,Awk,Sed,Gedit,我有一个文本文件: "postalAddress2": "Postal Address Line 2", "postalCity": "Postal City", "postalPostCode": "Postal Code", "postalState": "State" 我需要删除第二列,即“:”之后的所有内容 并删除所有换行符 预期产出: "postalAddress2","postalCity","postalPostCode","postalState" 可以在gedit中使用se

我有一个文本文件:

"postalAddress2": "Postal Address Line 2",
"postalCity": "Postal City",
"postalPostCode": "Postal Code",
"postalState": "State"
我需要删除第二列,即“:”之后的所有内容 并删除所有换行符

预期产出:

"postalAddress2","postalCity","postalPostCode","postalState"
可以在gedit中使用sed或regex来完成吗

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

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

你能试一下吗

awk 'BEGIN{FS=":";OFS=","} {val=(val?val OFS:"")$1} END{print val}' Input_file
或者从@Sundeep的评论中汲取灵感,试试:

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

你能试一下吗

awk 'BEGIN{FS=":";OFS=","} {val=(val?val OFS:"")$1} END{print val}' Input_file
或者从@Sundeep的评论中汲取灵感,试试:

awk 'BEGIN{FS=":"} {print $1}'  Input_file | paste -sd,
使用sed和粘贴:

sed 's/:.*//' file | paste -d ',' -s > other_file
输出到其他_文件:

"postalAddress2","postalCity","postalPostCode","postalState" “postalAddress2”、“postalCity”、“postalPostCode”、“postalState” 使用sed和粘贴:

sed 's/:.*//' file | paste -d ',' -s > other_file
输出到其他_文件:

"postalAddress2","postalCity","postalPostCode","postalState" “postalAddress2”、“postalCity”、“postalPostCode”、“postalState” 这可能适用于您(GNU-sed):

将文件拖到内存中,并使用多行模式,删除所有行上从第一个
到下一个
出现的所有内容

然后将
,\n
替换为

这可能适用于您(GNU-sed):

将文件拖到内存中,并使用多行模式,删除所有行上从第一个
到下一个
出现的所有内容


然后将
,\n
替换为

cut-d:-f1文件粘贴-sd,
sed的/:[^,]*/'文件粘贴-d'-s
perl-pe的/:[^,]*/;s/,\n/,/'文件
剪切-d:-f1文件|粘贴-sd,
sed的/:[^,]*/'文件|粘贴-d'-s
perl-pe的/:[^,]*/;s/,\n/,/'文件
@Anti_cse51,请检查我的解决方案一次,让我知道它是否对您有帮助?@Anti_cse51,请检查我的解决方案一次,让我知道它是否对您有帮助?