PIPE 文字セットの置換

PIPE 文字セットの置換

3つのパイプ(|||)で区切られたファイルがあります。たとえば、名前|||ウェブサイト|||日付|||金額|||

私は2つのことをしようとします。

  1. 別のファイルから特定の列を抽出します。たとえば、新しいファイルから分離する数値(ファイルの4番目の列)

  2. 3つのパイプをすべてコンマに置き換えると、新しいファイルが次のように表示されます。 - 名前、URL、日付、金額、

私のデータにもカンマの間に単一のパイプ文字があるので、カンマを3つのパイプに置き換えたいと思います。

私は試しました - awk -F '[\|]'+ '{print $4}' temp.csv > temp1.csv。ただし、これはデータに単一のパイプラインがあるかどうかを抽出します。

よろしくお願いします。

ベストアンサー1

[|]{3}生データから特定のフィールドを抽出するには、フィールド区切り文字として使用します。

$ awk -F '[|]{3}' '{ print $4 }' input.csv

GNUは正規表現をフィールド区切り文字として使用する必要がありますawk

すべてをコンマで置き換えるには、次の手順を実行します|||

$ sed 's/|||/,/g' input.csv >output.csv

おすすめ記事