簡體   English   中英

awk:如何通過awk返回列數?

[英]awk:How return number of columns by awk?

數據源:

a b c d

期望:

$1 $2 $3 $4
a  b  c  d

我嘗試echo 'abc d'| awk 'END {for(i=1;i<=NF;i++) printf("$%d\\t",i)}' echo 'abc d'| awk 'END {for(i=1;i<=NF;i++) printf("$%d\\t",i)}' (但失敗)

$ echo 'a b c d' |
    awk 'FNR==1{for (i=1;i<=NF;i++) printf "$%d%s", i, (i<NF ? OFS : ORS)} 1'
$1 $2 $3 $4
a b c d

$ echo 'a b c d' |
    awk 'FNR==1{for (i=1;i<=NF;i++) printf "$%d%s", i, (i<NF ? OFS : ORS)} 1' |
    column -t
$1  $2  $3  $4
a   b   c   d

閱讀Arnold Robbins撰寫的第4版有效的Awk編程-嘗試在END部分中進行此操作,並且腳本中的其他內容表明您缺少awk的基礎知識。

暫無
暫無

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

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