shell - 将 grep 的输出存储到带有分隔符的变量

标签 shell grep

我有一个文件sample.txt,其中包含以下文本

abcde
cde
abcdefg
efga
abgd
efghji

我想使用 grep bc example.txt 搜索包含 bc 的字符串,并将输出获取到带有分隔符的变量(例如 ##)。我该怎么做?输出应该看起来像这样。

abcde##abcdefg##

最佳答案

嗯,一个简单的解决方案:

grep bc | tr '\n' '#' | sed 's/#/##/g'

使用 tr 将换行符简单替换为“#”,然后使用 sed 将“#”替换为两个“#”。

关于shell - 将 grep 的输出存储到带有分隔符的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51324009/

相关文章:

c - 帮助简单的 linux shell 实现

linux - 尝试从文本文件中获取实例 ID

regex - 用于在文本文件中搜索列的正则表达式

Bash - 根据索引列表中未列出的索引从文件中提取行

c++ - fork 和 pipeline 错误文件描述符错误

bash - 传递到 mvn exec :java 时保留参数间距等

C:在C中执行和输出shell命令

regex - 如何在 shell 脚本中将正则表达式用于多行模式

regex - 如何在 shell 脚本中对没有边界的表达式进行着色

linux - grep 没有停止或回显 "Not found"