這是一個原始的awk文件,我想格式化它。如何將兩個awk文件合併爲一個?
輸入的內容----原來awk的文件名爲test.txt
awk 'BEGIN {maxlength = 0}\
{\
if (length($0) > maxlength) {\
maxlength = length($0);\
longest = $0;\
}\
}\
END {print longest}' somefile
預期輸出----格式良好的AWK文件
awk 'BEGIN {maxlength = 0} \
{ \
if (length($0) > maxlength) { \
maxlength = length($0); \
longest = $0; \
} \
} \
END {print longest}' somefile
第一步:獲得最長的行和字符編號
step1.awk
#! /usr/bin/awk
BEGIN {max =0 }
{
if (length($0) > max) { max = length($0)}
}
END {print max}
AWK -f step1.awk的test.txt
現在對於所有的行最大長度爲50
步驟2把\在位置50 + 2 = 52。
step2.awk
#! /usr/bin/awk
{
if($0 ~ /\\$/){
gsub(/\\$/,"",$0);
printf("%-*s\\\n",n,$0);
}
else{
printf("%s\n",$0);
}
}
AWK -f step2.awk -vn = 52的test.txt> well_formatted.txt
如何第一步和第二步組合成只有一個步驟,和結合step1.awk和step2.awk作爲一個awk文件?
發佈輸入內容和預期輸出得到快速幫助 – RomanPerekhrest