Awk

AWK 列印沒有特定單詞的特定欄位

  • November 28, 2018

輸入:

a-0;Password-1010;c-ss;d-fk;h-14;i-jawad;j-dd;Email-1@1.com;
a-7990:15:71;b-aa;c-1;Password-2020;h-iOS;Email-2@2.com;

輸出:

1@1.com,1010
2@2.com,2020

我的輸入文件與我的範例相同。我只想用分隔符直接列印Emailand 。Password``,

文件中的每一行都包含穩定的單詞;Email-and;Password-

我試過了,awk -F';' '{ print $8, $2 }'但它不會給我的目標,因為它需要一些修改。

由於您想要的輸出在每一行的同一欄位中不一致,我建議循環欄位,嘗試替換Email-andPassword-前綴,並在替換成功時記錄結果:

awk '
 BEGIN {
   FS=";"; OFS=",";
 }
 {
   for (i=1;i<=NF;i++) {
     if (sub(/^Email-/,"",$i))
       e = $i; 
     else if (sub(/^Password-/,"",$i)) 
       p = $i;
    }
    print e, p
 }' file
1@1.com,1010
2@2.com,2020

引用自:https://unix.stackexchange.com/questions/484549