linux - 使用awk以编号格式将单行拆分为多行

标签 linux shell scripting awk

我正在尝试使用 awk 命令将值拆分为三个部分。需要帮助才能闯入 3。

内容 = 1. 11683 (<server01>: du.size[/,free] : 0.5 % 2. 21683 (<server02>: du.size[/,free] : 1.5 % 3. 31683 (<server03>: du.size[/,free] : 3.5 %

我希望以上内容在编号系统中分为 3 行。

需要示例输出:

1. 11683 (<server01>: du.size[/,free] : 0.5 % 
2. 21683 (<server02>: du.size[/,free] : 1.5 % 
3. 31683 (<server03>: du.size[/,free] : 3.5 %

我已经尝试过以下命令:

echo $content | awk -F"3. " '{ print $2 }' 

我明白了

31683 (<server03>: du.size[/,free] : 3.5 %

与其他人类似,但仍然未能获得如上所示的正确编号格式的示例输出。

谁能帮我解决这个问题?

最佳答案

% 符号看起来是一个很好的拆分候选。尝试:

sed 's/% /%\n/g'

测试:

echo "1. 11683 (<server01>: du.size[/,free] : 0.5 % 2. 21683 (<server02>: du.size[/,free] : 1.5 % 3. 31683 (<server03>: du.size[/,free] : 3.5 %" | sed 's/% /%\n/g'

结果:

1. 11683 (<server01>: du.size[/,free] : 0.5 %
2. 21683 (<server02>: du.size[/,free] : 1.5 %
3. 31683 (<server03>: du.size[/,free] : 3.5 %

关于linux - 使用awk以编号格式将单行拆分为多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14847299/

相关文章:

c - 我应该如何理解 "> outfile 2>&1"和 "2>&1 > outfile"?

C - 继续执行 n 次 for 循环

linux - Pam.exec 退出代码 8

python - 通过 Ubuntu 的 apt-get 在 Dockerfile 中使用 apt-get 安装 python-pip

linux - ssh 命令引用有什么区别?

php - UTF-8贯穿始终

shell - docker run bash脚本无法退出

linux - 在 Linux RHEL 6.7 上安装没有 YUM 的 MongoDB

Java Jar 和 Classpath 问题

bash - 如何指定 Bourne shell(不是 sh)