Regex 从csv中删除只有逗号的行

Regex 从csv中删除只有逗号的行,regex,shell,awk,sed,Regex,Shell,Awk,Sed,我有一个文件,其中有些行只有逗号,没有数据。问题是这些行没有固定数量的逗号。数据可能如下所示- 99,abc,123,, bcd,123,th ,,bcd,123,th ,,,,bcd,123,th ,,, ,,,,, 输出应该如下所示 99,abc,123,, bcd,123,th ,,bcd,123,th ,,,,bcd,123,th 我必须用awk删除只有逗号的行。 或: 带着awk 或: 此GRIP将删除包含逗号的所有行,至少一个,如果需要的话,将保留空行。我相信您的要求只是删除只包

我有一个文件,其中有些行只有逗号,没有数据。问题是这些行没有固定数量的逗号。数据可能如下所示-

99,abc,123,,
bcd,123,th
,,bcd,123,th
,,,,bcd,123,th
,,,
,,,,,
输出应该如下所示

99,abc,123,,
bcd,123,th
,,bcd,123,th
,,,,bcd,123,th
我必须用awk删除只有逗号的行。

或:

带着awk

或:

<>此GRIP将删除包含逗号的所有行,至少一个,如果需要的话,将保留空行。我相信您的要求只是删除只包含逗号的行

grep -v "^,,*$" file
输入

输出:

99,abc,123,,
bcd,123,th
,,bcd,123,th
,,,,bcd,123,th


abc
如果还想删除空行,则可以使用:

grep -v "^,*$" file
<>此GRIP将删除包含逗号的所有行,至少一个,如果需要的话,将保留空行。我相信您的要求只是删除只包含逗号的行

grep -v "^,,*$" file
输入

输出:

99,abc,123,,
bcd,123,th
,,bcd,123,th
,,,,bcd,123,th


abc
如果还想删除空行,则可以使用:

grep -v "^,*$" file

尝试如下单个grep。对那些从逗号开始直到结束都有逗号的行求反,在所有命令中使用相同的逻辑

grep -v '^,*$'  Input_file
也可以尝试使用awk解决方案,如下所示

awk '!/^,*$/'  Input_file
同样的,也可以尝试使用sed解决方案

sed -n '/^,*$/d;p'  Input_file

尝试如下单个grep。对那些从逗号开始直到结束都有逗号的行求反,在所有命令中使用相同的逻辑

grep -v '^,*$'  Input_file
也可以尝试使用awk解决方案,如下所示

awk '!/^,*$/'  Input_file
同样的,也可以尝试使用sed解决方案

sed -n '/^,*$/d;p'  Input_file

grep-v'^,*$'文件或sed'/^,*$/d'文件hi,这些文件不起作用。我仍然可以看到只有逗号的行。您可能有以csv结尾的DOS行。您可以使用sed-E$'/^、+\\\r?$/d'grep-v'^、*$'文件或sed'/^、*$/d'文件。这些文件无效。我仍然可以看到只有逗号的行。您可能有以csv结尾的DOS行。您可以使用sed-E$'/^,+\\\r?$/d'Hi,它们不起作用。我仍然可以看到只有逗号的行不确定,这些对我来说都很好,你能通过cat-v输入文件检查你的输入文件中是否有回车字符,如果你看到它们,你可以通过tr-d'\r'temp\u file&&mv temp\u file Input\u file删除它们让我看看它是怎么回事。嗨,它工作了!!非常感谢你。我的文件有回车字符。很高兴它对您有所帮助,请参阅此文件,将grep“[^,]”添加到列表中。这也会删除可能需要或不需要的空行。嗨,这些行不通。我仍然可以看到只有逗号的行不确定,这些对我来说都很好,你能通过cat-v输入文件检查你的输入文件中是否有回车字符,如果你看到它们,你可以通过tr-d'\r'temp\u file&&mv temp\u file Input\u file删除它们让我看看它是怎么回事。嗨,它工作了!!非常感谢你。我的文件有回车字符。很高兴它对您有所帮助,请参阅此文件,将grep“[^,]”添加到列表中。这也将删除可能需要或可能不需要的空行。