linux - 如何在 linux 中用逗号替换文本文件中的多余空格

标签 linux

我的文本文件有3个或3个以上的空格,现在我想用逗号替换3个或3个以上的空格,如果文件少于3个空格则不应该替换

ex:
input:
a b  3   c     d      6        9
output:
a b,3,c,d,6,9

最佳答案

您可以使用 sed 轻松完成此操作:

$ sed -r 's/ {3,}/,/g' file
a b  3,c,d,6,9

-r 标志指示 sed 使用 extended regular expression s/// search/replace command 中的 {min,max} 区间运算符所需的语法.有了它,我们说:对于重复 3 次或更多次(无上限)的空格字符的每次出现(注意 g,或末尾的全局标志),将其替换为 ,。传递所有其他字符。

关于linux - 如何在 linux 中用逗号替换文本文件中的多余空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44980572/

相关文章:

linux - Tcpdump 命令 - Linux - Unix

linux - 如何在ubuntu 12.04上安装最新的wkhtmltopdf

c++ - 如何在 Linux 上的 c++ 中为 gtkmm3 中的特定按钮设置 CSS 类

python - 在另一个目录中运行(python)脚本

python - 查找两个占位符之间的所有内容并将其替换为变量的内容

c# - 临时清除Linux中的终端

linux - 为什么CapEff在/proc/$PID/status中全为零

linux - 从日志文件中提取属性值并根据属性值将日志存储在单独的文件中

linux - 在 Linux 中通过脚本安装应用程序

linux - 在 Unix Shell 脚本中写出意外的新行