3つのパイプ(|||)で区切られたファイルがあります。たとえば、名前|||ウェブサイト|||日付|||金額|||
私は2つのことをしようとします。
別のファイルから特定の列を抽出します。たとえば、新しいファイルから分離する数値(ファイルの4番目の列)
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