[英]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.