linux - 如何用shell中的一个符号替换一个或多个连续的符号

标签 linux shell file file-handling

我有一个包含连续符号(如管道“|”)的文件

ANKRD54,LIAR,allergy,|||
ANKRD54,LIAR,asthma,||20447076||
ANKRD54,LIAR,autism,||||
ANKRD54,LIAR,cancer,|||
ANKRD54,LIAR,chronic_obstructive_pulmonary_disease,|||
ANKRD54,LIAR,dental_caries,||||

现在在 shell 中使用 shell 或 sed 命令是否可以将多个管道替换为一个管道,例如

    ANKRD54,LIAR,allergy,|
    ANKRD54,LIAR,asthma,|20447076|
    ANKRD54,LIAR,autism,|
    ANKRD54,LIAR,cancer,|
    ANKRD54,LIAR,chronic_obstructive_pulmonary_disease,|
    ANKRD54,LIAR,dental_caries,|

最佳答案

我想最简单的方法是使用内置命令:cat your_file | tr -s '|'

关于linux - 如何用shell中的一个符号替换一个或多个连续的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39444747/

相关文章:

用于显示哪些键盘输入输出的 Linux、Unix 或 OS X 工具?

sql - PostgreSQL - 从失败的 shell 创建用户和数据库

bash - 如何在没有带有环境变量的文件的情况下使用 SED?

来自uri的android文件名与实际文件名不同

python - 在 zip 文件中递归列出所有目录,无需在 python 中解压

c - Linux C 捕获 kill 信号以实现优雅终止

linux - 从命令行计算多个子目录中的文件数量

linux - 将大文件加载到 Amazon S3

linux - 无法从 Perl 内部运行有效的 shell 脚本

file - 如何一次在Hadoop中使用MapReduce处理多个文本文件进行分析