簡體   English   中英

使用awk添加常量值

[英]Adding constant values using awk

如果值小於240000我需要將常量值添加到第四列。 常數值為010000 我已經寫了命令,但沒有給出任何輸出。 以下是示例數據和腳本。 請幫助我。提前感謝。

命令:

awk  '{
  if($4 -lt 240000)
    $4= $4+010000;
 }' Test.txt

樣本數據 :

1039,1018,20180915,000000,0,0,A
1039,1018,20180915,010000,0,0,A
1039,1018,20180915,020000,0,0,A
1039,1018,20180915,030000,0,0,A
1039,1018,20180915,240000,0,0,A
1039,1018,20180915,050000,0,0,A
1039,1018,20180915,060000,0,0,A
1039,1018,20180915,070000,1,0,A
1039,1018,20180915,080000,0,1,A
1039,1018,20180915,090000,2,0,A
1039,1018,20180915,241000,0,0,A
1039,1018,20180915,240500,0,0,A 
$ awk  '
BEGIN { FS=OFS="," }                 # input and output field separators
{
    if($4<240000)                    # if comparison
        $4=sprintf("%06d",$4+10000)  # I assume 10000 not 010000, also zeropadded to 6 chars
        # $4+=10000                  # if zeropadding is not required
    print                            # output
 }' file

輸出:

1039,1018,20180915,010000,0,0,A
1039,1018,20180915,020000,0,0,A
1039,1018,20180915,030000,0,0,A
1039,1018,20180915,040000,0,0,A
1039,1018,20180915,240000,0,0,A
1039,1018,20180915,060000,0,0,A
1039,1018,20180915,070000,0,0,A
1039,1018,20180915,080000,1,0,A
1039,1018,20180915,090000,0,1,A
1039,1018,20180915,100000,2,0,A
1039,1018,20180915,241000,0,0,A
1039,1018,20180915,240500,0,0,A

$4+10000不是010000因為awk 'BEGIN{ print 010000+0}'輸出4096因為它是該值的八進制表示。

暫無
暫無

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

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