簡體   English   中英

awk output 放入指定的列數

[英]awk output into specified number of columns

編輯:我可以從命令中獲取所有我想要的值:

awk '/Value/{print $4}' *.log > ofile.csv 

這使得 .csv 文件具有包含數百個值的單列。 我想將這些值分成指定數量的列,即我可以指定我想要 100 列而不是在單個列中包含值 1-1000,然后 my.csv 文件的第一列將是 1-10 ,第 2 列是 11-20... 第 100 列是 991-1000。

以前,我使用pr命令來執行此操作,但是當我想要的列數太高(根據我的經驗> 36)時它不起作用。

awk '/Value/{print $4}' *.log | pr -112s',' > ofile.csv

pr命令給出以下消息: pr: page width too narrow

我可以使用此命令的替代方法,它不會限制一行數據中逗號分隔符的數量嗎?

如果您的值總是相同的長度,您可以使用column

$ seq 100 200 | column --columns 400 | column --table --output-separator "," 
100,103,106,109,112,115,118,121,124,127,130,133,136,139,142,145,148,151,154,157,160,163,166,169,172,175,178,181,184,187,190,193,196,199
101,104,107,110,113,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,176,179,182,185,188,191,194,197,200
102,105,108,111,114,117,120,123,126,129,132,135,138,141,144,147,150,153,156,159,162,165,168,171,174,177,180,183,186,189,192,195,198,

--columns控制列數,但在我的示例中, 400是字符數,而不是列數。

如果您的值不是相同的字符長度,您會發現在值具有不同寬度的位置插入了空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM