1

私は現在AWKを扱っており、私が扱っている3つの変数があります。

  • $0 変数 - この例では、次と同等です。

path/filename.cpp LOG_ERR << "error in this log" << e.what();

  • $logName 変数 - cpp ファイルの名前を解析しました。

filename

  • $2 変数 - デフォルトの 2 番目の値が含まれます。

LOG_ERR

質問:

私がやろうとしているのは、次のように値を連結することです:

logName=$logName $2;

しかし、期待値の代わりに、次のfilenameLOG_ERRようになります。

filename LOG_ERR << "error in this log" << e.what();

私は何を間違っていますか?

編集: 要求された AWK コード:

awk '{
logName=sub(/^.*\//,"",$1);
logName=sub(/\..*:/,"",$logName);

print $logName;
print $2;

logName=$logName $2;

print $logName;
}' $file

EDIT2:修正。フィールド番号でない限り、awk で $ 変数を呼び出さないでください。:)

awk '{
logName=$1;
sub(/^.*\//,"",logName);
sub(/\..*:/,"",logName);
print logName;
logName=logName $2;
print logName;
}' $file
4

1 に答える 1