linux - 如何使用awk在前四个一个空格之后然后在两个空格等之后添加一个数字的空间

标签 linux sed

我想添加一个数字的多个空格是“20120911162500”前四个空格然后每两个空格。

期望的输出是

2012 09 11 16 25 00

这是我尝试过的:

echo "2012 09 11 16 25 00" |sed 's/.\{4\}/& /g'

但输出是 2012 0911 1625 00

最佳答案

这可能对你有用(GNU sed):

sed 's/../ &/3g' file

这会在第三对字符和之后的每 2 个字符前添加一个空格。

关于linux - 如何使用awk在前四个一个空格之后然后在两个空格等之后添加一个数字的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36833915/

相关文章:

linux - svn-update 版本与提交版本不匹配

linux - 我如何在 linux 中解析这个字符串?

regex - 网络掩码验证似乎无法在 bash 脚本中使用正则表达式,而 ip 验证工作正常

sql - 从 mysql.sql 转储文件中提取表

相机的 Linux 系统无法运行带有 './abcd' 的已编译 C 程序,而是将其识别为/bin/sh 脚本

sed - 删除列条目的一部分(取决于条目的开头)

bash - 如何删除反向 grep 匹配上方和下方的行?

linux - 将 .txt 中的 html 结构转换为 .html 文件的 <body>

linux - 替换包含字符串的行,但如果是逗号则保留最后一个字符

linux - 如何使用 awk 或 sed 在 bash 中调整列字段的长度?