2
我有一個變量:n=$maxlen
,有沒有什麼辦法可以在awk中使用printf作爲字段寬度?bash變量爲awk字段寬度
事情是這樣的:
n=$maxlen
awk -v val=$n -F',' '{printf "%vals %7s %17s %4i\n", $1, $2, $3, $4}' somefile.txt
我有一個變量:n=$maxlen
,有沒有什麼辦法可以在awk中使用printf作爲字段寬度?bash變量爲awk字段寬度
事情是這樣的:
n=$maxlen
awk -v val=$n -F',' '{printf "%vals %7s %17s %4i\n", $1, $2, $3, $4}' somefile.txt
想通了! :d
n=$maxlen
awk -v val=$n -F',' '{printf "%*s %7s %17s %4i\n", val, $1, $2, $3, $4}' somefile.txt
一種選擇是去後面AWK的背部,並要求猛砸直接滑數爲AWK腳本:
awk -v -F',' '{printf "%'"$n"'s %7s %17s %4i\n", $1, $2, $3, $4}' somefile.txt
至於AWK會知道,那%'"$n"'s
是實際%3s
(或其他)。
我不知道你能做到這一點,謝謝! – Ray