使用 sed 仅更改连续重复的字母

2023-11-30

使用 sed,如何将字母“a”更改为“A”,但前提是它重复出现为两个或多个连续字母。示例,来自:

galaxy
ear
aardvak
Haaaaaaaaa 

into

galaxy
ear
AArdvak
HAAAAAAAAA 

您可以使用组来完成此操作。如果你有这个文件:

$ cat a
galaxy
ear
aardvak
Haaaaaaaaa 
Ulaanbaatar

您可以使用此 sed 命令:

$ sed 's/\(.\)\1\{1,\}/\U&/g' a
galaxy
ear
AArdvak
HAAAAAAAAA 
UlAAnbAAtar

这里发生了什么?如果我们有一个字符,“打包”在一个组中(\(.\)),以及该组(\1) 重复一次或多次 (\1\{1,\}),然后替换匹配的部分(&) 的大写版本 (\U&).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 sed 仅更改连续重复的字母 的相关文章

  • 如何区分哪些 unicode 字符是字母(单词)还是标点符号?

    我想检测文本中的单词 即我需要知道给定文本中的哪些字符是字母 即它们可以是 口语 单词的一部分 另一方面 哪些字符是标点符号等 例如 在上面的句子中 我 想要 和 i 和 e 是这方面的单词 而空格 和逗号则不是 这样做的困难在于我希望能够
  • 在 sed 中插入换行符 (Mac OS X)

    如何在 sed 的替换部分插入换行符 此代码不起作用 sed s 1234 n 1 g input txt gt output txt 其中 input txt 是 test1234foo123bar1234 和output txt应该是
  • sed:多行的条件合并

    我需要根据模式使用 sed 合并文件行 例如 输入文件 X1 A B C D E F G H I J 1 LK T PP E OO 2 X2 DDF F Y J W Q 预期输出 X1 A B C D E F G H I J 1 LK T
  • 如何使用管道字符分隔符分隔字段

    我知道这个问题已经被问过 但我发现没有一个解决方案对我有用 我有一个程序 其输出如下 COUNT 293 1 lps 我对第二个字段感兴趣 但是这些尝试都没有成功 spawn 1 cut d f2 spawn 1 cut d f2 spaw
  • 单击时如何来回交换文本?

    我需要的是来回交换文本 一个间隙 到Word单击它 我不想有按钮 用户只需单击间隙的位置即可 I see 这一页 https css tricks com swapping out text five different ways 准确地描
  • PHP:查找文本中带空格和不带空格的重复单词

    我可以使用此函数找到文本中重复的单词 str bob is a good person mary is a good person who is the best are you a good person bob is the best
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • .NET“默认行终止符”?

    有什么方法可以弄清楚 NET 使用什么作为其 默认行终止符 例如 StringBuilder AppendLine String 的文档表示 附加指定字符串的副本 后跟默认行终止符 NET 中的几个与文本相关的类引用相同的概念 有什么方法可
  • jqgrid长文本换行

    在jqgrid中 我们从数据库获取长文本 但在JQgrid中显示时需要换行 有什么方法可以换行长文本 没有任何空格 我们只有 110px 的空间用于收款人姓名字段 因为我们有多个列需要显示 我们的代码就像 name firstPayeeNa
  • 更改多个文件

    以下命令正确更改了 2 个文件的内容 sed i s abc xyz g xaa1 xab1 但我需要做的是动态更改几个这样的文件 但我不知道文件名 我想编写一个命令来读取当前目录中以以下内容开头的所有文件xa and sed应该更改文件内
  • sed(和其他)会损坏非 ASCII 文件吗?

    如果我编写一些操作文件的脚本 例如使用 sed 进行搜索 替换 并且文件可以采用各种字符集 那么文件是否会损坏 我希望替换的文本是 ASCII 并且也仅出现在仅包含 ASCII 的文件中的行上 但其余行包含其他字符集中的字符 如果您的字符集
  • 为什么 sed 不将 \t 识别为制表符?

    sed s t 1 filename gt sedTmpFile mv sedTmpFile filename 我期待这个sed脚本插入一个tab在每一行前面 filename然而事实并非如此 由于某种原因 它正在插入一个t反而 Not a
  • 文本周围有黑线

    如何在我的textView 的文本周围制作黑线 上图示例 扩展 TextView 类 然后在onDraw中 先使用黑色绘制文本 然后再次绘制 稍微小一点并使用白色 为了获得额外的 正确性 请向 XML 添加自定义属性以设置 周围的 线 颜色
  • 如何在 C++ 中管理位/二进制?

    我需要做的是打开一个包含 0 和 1 的文本文件 以查找文件中各列之间的模式 所以我的第一个想法是将每一列解析为一个大的布尔数组 然后在列之间执行逻辑 现在在数组中 直到我发现 bool 的大小实际上是一个字节而不是一个位 所以我会浪费 1
  • Bash 脚本在 for 循环中使用 sed 和变量?

    我正在尝试编写一个 bash 脚本 该脚本需要一些变量 然后使用 grep 对给定文件搜索进行查找 替换 以获取包含该字符串的文件列表 我认为我遇到的问题是在 sed 中看到变量我不确定它可能是什么 if searchFiles a old
  • 如何使用 javascript 将文本插入文本区域?

    我需要在光标所在的文本区域中插入一些文本 如果没有jquery 我该如何做到这一点 您可能需要检查以下位置的小代码示例 使用 JavaScript 在光标处插入 http alexking org blog 2003 06 02 inser
  • 使用 jQuery 将文本分解到随机位置

    有一些 jQuery 示例 介绍如何内爆文本 如下所示 http jsfiddle net doktormolle dNXVx http jsfiddle net doktormolle dNXVx 我怎样才能做到相反 我想将跨度元素中的字
  • 将阿拉伯语文本导出为图像

    我有一堆 UTF 8 格式的阿拉伯文本 我尝试显示此设备的设备不支持显示阿拉伯语文本 因此 我需要将文本转换为图像 我想将每行文本保存为具有特定宽度的图像 我还需要使用特定的字体 做这个的最好方式是什么 有人知道这里有一个有用的工具吗 到目
  • bash - 从文本文件中删除多行不同的文本

    我正在处理大量日志文件 并且大多数日志文件都有大量被记录多次的重复字符串 为了使与此类事情没有太多关系的其他人 也为我自己 轻松查看日志 我想制作一个脚本来删除一些可能对其他人造成 误报 的文本行 嘿管理员 我多次出现这些错误 gt 叹息
  • 标签中的文字大小

    如何限制标签中的字符数 您可以通过设置自动截断带有省略号的文本frame of the UILabel NSInteger newSize 10 label frame CGRectMake label frame origin x lab

随机推荐