Regex 使用SED在文件中进行文本转换

Regex 使用SED在文件中进行文本转换,regex,macos,sed,Regex,Macos,Sed,给定名为address.txt的csv文件: 如何将文件转换为仅包含邮政编码? 我的命令行测试不起作用,我不知道为什么。 我从cat cat address.txt | sed 's/\(.+\),\(.+\),\(.+\)/\3/g' 这就是: cat address.txt | sed 's/[^,]*,[^,]*,\([^,]*\)/\1/' 在sed中更容易描述模式不应包含的内容与应包含的内容,至少对于这个问题来说是这样的(使用GNU sed): 或 谢谢,但没用。我在下面找到了

给定名为address.txt的csv文件:

如何将文件转换为仅包含邮政编码? 我的命令行测试不起作用,我不知道为什么。 我从
cat

cat address.txt | sed  's/\(.+\),\(.+\),\(.+\)/\3/g'
这就是:

cat address.txt | sed  's/[^,]*,[^,]*,\([^,]*\)/\1/'
在sed中更容易描述模式不应包含的内容与应包含的内容,至少对于这个问题来说是这样的(使用GNU sed):


谢谢,但没用。我在下面找到了答案。您是否考虑过使用专门用于处理CSV文件的工具,如csvkit?
cat address.txt | sed  's/[^,]*,[^,]*,\([^,]*\)/\1/'
sed -r 's/.+,(.+)/\1/' address.txt
sed 's/.*,//' address.txt
awk -F, '{print $NF}' address.txt