使用shell脚本从文件中删除以句点(.)结尾的行

使用shell脚本从文件中删除以句点(.)结尾的行,shell,awk,scripting,Shell,Awk,Scripting,我试图从以句号结尾的文件中删除行。我正在使用以下命令来执行此操作 awk '!/.$/' abc.txt > abcd.txt 我也试着使用下面的命令 awk '!/\.$/' abc.txt > abcd.txt awk '!/\\.$/' abc.txt > abcd.txt awk '!/[.]$/' abc.txt > abcd.txt awk '!/[\.]$/' abc.txt > abcd.txt 但是,我还是在犯错误 awk: unexpecte

我试图从以句号结尾的文件中删除行。我正在使用以下命令来执行此操作

awk '!/.$/' abc.txt > abcd.txt
我也试着使用下面的命令

awk '!/\.$/' abc.txt > abcd.txt
awk '!/\\.$/' abc.txt > abcd.txt
awk '!/[.]$/' abc.txt > abcd.txt
awk '!/[\.]$/' abc.txt > abcd.txt
但是,我还是在犯错误

awk: unexpected character '.'
EDIT1: 如果我想在awk中为相同的目的添加多个条件,如 如果句子有句号(.)或百分比(%)等符号,则删除该行。如何在awk中添加多个条件

谁能帮我解决这个问题


谢谢

您可以使用
grep

grep -v '\.[[:blank:]]*$' file
或者这个
awk
也应该起作用:

awk '!/\.[[:blank:]]*$/' file
或使用
sed

sed -n '/\.[[:blank:]]*$/!p' file

您可能有一些奇怪的awk版本,因为给定的命令对我来说很好。还可以使用
sed
执行以下操作:
sed-n'/\.$/!我意识到了这个问题。它与给定的命令一起工作。这个问题与空间有关。我的文件在句号(.)之后有相同的内容。谢谢