- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试用我尝试过的换行符替换 [6 位] 之后的空格
sed 's/a\d{6}\s\+/\n/' old > new
例如:
a123456 this is a sentence
会变成:
a123456
this is a sentence
我也愿意接受 linux 中允许我执行此操作的任何其他程序,例如 awk、perl 或 bash。
最佳答案
首先,我建议在此处使用带有 sed -r
的 POSIX 扩展正则表达式来简化模式。
POSIX 正则表达式甚至 POSIX 扩展正则表达式(使用 -r
)不支持 \d
或 \s
作为字符类例如 Perl。我会使用以下模式:
sed -r 's/(a[0-9]{6}) +/\1\n/' old > new
请注意,我将空格之前的所有内容捕获到一个捕获组中,并在替换模式中使用此组 \1
。
然而,在 POSIX 正则表达式中确实有可用的命名字符类,但它们的输入时间比在 Perl 中长。如果你想使用命名字符类,你可以使用:
sed -r 's/(a[[:digit:]]{6})[[:space:]]+/\1\n/' old > new
在这种情况下。如果您想了解更多有关 POSIX 正则表达式中可用字符类的信息,请查看 grep
和/或 egrep
的联机帮助页。
关于regex - sed:在 [6 位数字] 和空格之后换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29302624/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!