簡體   English   中英

用於多個條件的AWK命令可打印不同的列

[英]AWK command for Multiple Conditions print different columns

我收到多個文件,並且需要從所有這些文件中提取某些字段。 我收到兩種文件作為輸入,下面是示例內容:

檔案1

Line 1: ST*835*0001~
Line 2: ABC*I*K*KI*330.33*C*AED*CCP*01*071000013*DA*645906447*1752578509

文件2

Line 1 : ST|835|0103~
Line 2 : ABC|I|330.33|C|01|

以下是我的腳本,

for file in "$SEARCH_DIR"/*; do
   recamt=$(awk -F'[|*]' '/ABC/{print $4}' $file)
    echo " $recamt " >> $logFile
done

我需要基於ABC打印值330.33 ,但是由於各列有所不同(文件1在列4上,文件2在列3上),我沒有得到預期的輸出...我如何實現這一點? 謝謝!

我也有另一個awk ,使用如下

filedate=$(awk -F'*' '/\*HP\*IRX\*/ {print $5}' $file)

如何為awk -F"|"添加附加條件 以及"*"但搜索"'/\\*HP\\*IRX\\*/""'/\\|HP\\|IRX\\|/..希望我很清楚。謝謝!

這是一個單行代碼: awk -F'[|*]' '{if($3==330.33) print "/ABC/"$3}' ./* >> logFile

暫無
暫無

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

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