![如何使用 sed 或 awk 过滤文本](https://linux22.com/image/126019/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20sed%20%E6%88%96%20awk%20%E8%BF%87%E6%BB%A4%E6%96%87%E6%9C%AC.png)
我有一个巨大的单词列表文件。我想删除仅数字的行。
我可以使用sed
其他东西来做到这一点吗?
输入:
Pass123
Dexg43
111116
246814
dancer@
Cody1234
Cody1234
预期输出:
Pass123
Dexg43
dancer@
Cody1234
Cody1234
我需要删除 11116 和 246814 的行,其余的都可以。
答案1
sed
sed '/^[0-9][0-9]*$/d' file sed '/^[0-9]\+$/d' file # with gnu sed
awk
awk '$0!~/^[0-9]+$/' file
grep
grep -v '^[0-9][0-9]*$' file grep -v '^[0-9]\+$' file # with gnu extension
珀尔
perl -ne 'print if !/^[0-9]+$/' file
输出:
Pass123
Dexg43
dancer@
Cody1234
Cody1234