如何在Unix中格式化文件的数据?[英] How to format the data of a file in Unix?

本文是小编为大家收集整理的关于如何在Unix中格式化文件的数据?的处理方法,想解了如何在Unix中格式化文件的数据?的问题怎么解决?如何在Unix中格式化文件的数据?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有一些这种形式的数据(3列)存储在变量ABC中:

d1  d2 d3 
d4 d5 d6 
d7 d8 d9 
d10 

我想将其格式化为这种形式(4 列):

d1 d2 d3 d4 
d5 d6 d7 d8
d9 d10

我尝试过这样的事情:

printf "%8.3e %8.3e %8.3e %8.3e\n" "${ABC}"

但它不起作用.谁能看出问题出在哪里?

推荐答案

所以你有一个文件,内容如下:

d1 d2 d3
d4 d5 d6
d7 d8 d9
d10

你想把它转换成

d1 d2 d3 d4
d5 d6 d7 d8
d9 d10

即从每行3列转换为4列.

为此,您可以使用 xargs 之类的:

xargs -n 4 < file

或者,如果数据在变量中:

xargs -n 4 <<< "$variable"

来自man xargs

<块引用>

-n max-args, --max-args=max-args

每个命令行最多使用 max-args 个参数.

测试

$ cat a
1 2 3
4 5 6
7 8 9
10
$ xargs -n 4 < a
1 2 3 4
5 6 7 8
9 10

本文地址:https://www.itbaoku.cn/post/1794086.html