regex - 删除额外的管道(使用 sed 或 tr)

标签 regex linux sed gnu tr

我的文件中包含太多管道,我想替换\n 和 | 使用\n 进行签名。

例如

first name|last name|blahblah
|
first name|last name|blahblah
|

我希望它如下(没有额外的|)

first name|last name|blahblah
first name|last name|blahblah

理想情况下,我可以使用 sed 或 tr(翻译)轻松完成此操作。问题是,当我这样做时(并且认为我逃离了管道),它似乎不起作用。

有什么建议吗?

最佳答案

您可以使用它删除 (d) 所有以管道开头 (^) 的行。

 sed "/^|/d" file

关于regex - 删除额外的管道(使用 sed 或 tr),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26415169/

相关文章:

c# - 在正则表达式中用 2 位数字替换数字

linux - SSH 拦截 - Linux

linux - 文件中的单词位置

bash - 如何将多行合并为单行但仅适用于由空行分隔的行 block

string - 删除模式之后的所有内容,包括模式

php - 使用 PHP 在 MySQL 中进行多词搜索

javascript - 简单的javascript正则表达式问题

c# - 英文字符、连字符和下划线的正则表达式

linux - 如何让 `find` 忽略 .svn 目录?

linux - 如何告诉 sed "do not remove some characters"?