awk コマンドの複数文字区切り記号

awk コマンドの複数文字区切り記号

次のデータがあります。

p_id^|^data1^|^data2^|^data3

2番目のフィールドだけを求めるだけです。

data1

コマンドでいくつかのトリックを試しましたが、awk見つかりませんでした。誰でも助けることができますか?

答え1

区切り文字に複数の文字が含まれており、すべての文字が特殊文字(両方とも^正規|表現演算子)であるため、エスケープする必要があります。コマンドラインから次のコマンドを使用してこれを実行できます。

awk -F '\\^\\|\\^' '{ print $2 }' file

また、バックスラッシュ自体をエスケープするには、デュアルバックスラッシュが必要です(他の理由で)。

関連情報