将连续流式文本转换为逗号分隔的多行文件

时间:2015-03-09 04:57:37

标签: file unix csv

我正在尝试将连续的数据流(随机)转换为逗号分隔和行分隔值。我正在将连续数据转换为csv,然后在一些列之后(比方说80),我需要设置换行符并重复该过程直到。

以下是我为csv做的事情:

gawk '$1=$1' FIELDWIDTHS='4 5 7 1 9 5 10 6 8 3 2 2 8 4 8 8 4 6 9 1' OFS=, tmp

'tmp'是包含以下数据的文件:

"ZaOAkHEnOsBmD5yZk8cNLC26rIFGSLpzuGHtZgb4VUP4x1Pd21bukeK6wUYNueQQMglvExbnjEaHuoxU0b7Dcne5Y4JP332RzgiI3ZDgHOzm0gjDLVat8au7uckM3t60nqFX0Cy93jXZ5T0IaQ4fw2JfdNF1PbqxDxXv7UGiyysFJ8z16TmYQ9zfBRCZvZirIyRboHNEGgMUFZ18y8XXCGrbpeL0WLstzpSuXetmo47G2xPkDLDcFA6cdM4WAFNpoC2ztspY7YyVsoMZdU7D3u3Lm6dDcKuJKdTV6600GkbLuvAamKGyzMtoqW3liI3ybdTNR9KLz2l7KTjUiGgc3Eci5wnhIosAUMkcSQVxFrZdJ9MVyj6duXAk0CJoRvHYuyfdAr7vjlwjkLkYPtFvAZp6wK3dfetoh3ZmhJhUxqzuxOLDQ9FYcvz64iuIUbgXVZoRnpRoNGw7j3fCwyaqCi..."

我正在从/dev/urandom生成连续序列。我没有得到如何在列结束后通过在列结束后添加换行符来重复gawk。

1 个答案:

答案 0 :(得分:0)

我实际上得到了它。一个简单的for循环就是这样做的。

这是我的整个代码:

for i in $(seq 10)
do
    tr -dc A-Za-z0-9 < /dev/urandom | head -c 100 > tmp
    gawk '$1=$1' FIELDWIDTHS='4 5 7 1 9 5 10 6 8 3 2 2 8 4 8 8 4 6 9 1' OFS=, tmp >> tmp1
done

任何优化都将受到赞赏。