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

时间:2016-03-16 10:59:40

标签: 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: unexpected character '.'

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

有人可以帮我解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:1)

您可以使用grep

grep -v '\.[[:blank:]]*$' file

或者这个awk也应该有效:

awk '!/\.[[:blank:]]*$/' file

或使用sed

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