入力する:
a-0;Password-1010;c-ss;d-fk;h-14;i-jawad;j-dd;[email protected];
a-7990:15:71;b-aa;c-1;Password-2020;h-iOS;[email protected];
出力:
[email protected],1010
[email protected],2020
私の入力ファイルは私の例と同じです。私はちょうどdelimiterを使用して合計を直接印刷したいと思いますEmail
。Password
,
ファイルの各行には安定した単語;Email-
があります;Password-
私はそれを試しましたが、awk -F';' '{ print $8, $2 }'
いくつかの修正が必要なので、目標を提供しません。
答え1
目的の出力が各行の同じフィールド内で一貫していないため、フィールドを繰り返し、置換とEmail-
接頭Password-
辞を試み、置換が成功した場合は結果を記録することをお勧めします。
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
[email protected],1010
[email protected],2020