bash - 如何从文件中删除与模式不匹配或在特定范围内不匹配的行
问题描述
我有一个 file.txt 看起来像这样:
{lat: 41.074294, lng:14.274297},
{lat: 41.074394, lng:14.274397},▒
{lat: 41.074494," lng:14.274497},
{lat: 41.07494, lng:14.274597},
lat: 41.074394, lng:14.274397},
{lat: 41.074494, lng:14.274497},
{lat: 41.074594, lng:14.274597},
{lat: 0.00000, lng:0.0000},
{lat: 46.074294, lng:14.274297},
如何删除所有不包含以下模式的行:
{lat: xx.xxxxxx, lng:xx.xxxxxx},
还是与其他行有很大不同,比如最后两行?可能 grep 或 sed 可以做到这一点,但我不确定如何在这种情况下使用它们。
所以输出应该是这样的:
{lat: 41.074294, lng:14.274297},
{lat: 41.074494, lng:14.274497},
{lat: 41.074594, lng:14.274597},
解决方案
grep '^{lat: [0-9][0-9]\.[0-9]\{6\}, lng:[0-9][0-9]\.[0-9]\{6\}},$' file
说的好像不应该有太大的区别是太宽泛了,没法回答。具体到您的问题,可以这样做:
grep '^{lat: [4][0-2]\.[0-9]\{6\}, lng:[1][3-5]\.[0-9]\{6\}},$' file
推荐阅读
- android - 致命错误:未找到 sys/syslimits.h 文件
- javascript - JavaScript:使用动态键值解析 JSON
- rrule - 如何为具有多个 BYSETPOS 值的重复事件生成 RRULE?
- javascript - 如何将对象的 php 数组传递到谷歌的地理图表数据中以生成图表?
- python - 使用 csv 中带有标签的图像在 Keras 中进行回归
- macos - 将 CAConstraints 与 NSView 层一起使用
- vbscript - ArcGIS 10.2 中的 VB 脚本错误、错误“438”、esriCore.Editor 和 esriFramework.ICommandBar
- c++ - unique_ptr 如何在超出范围时不破坏/释放它指向的内存?
- android - android billing inApp/subscription 找不到显式活动 ProxyBillingActivity
- java - 无法在屏幕旋转时保持 RecyclerView 位置