CSVの最初の要素と最後の要素を切り取る

CSVの最初の要素と最後の要素を切り取る

以下のようにCSVファイルに配列があります。

input.csv
"{1,2,3,4}"
"{1,2,3,4,5,6,7,8,9}"
"{34,6,7,89}"

このCSVファイルの最初の要素と最後の要素を別のCSVファイルにしたいと思います。

output.csv
    1,4
    1,9
    34,89

私は前に試しました

  cut -d , -f1 -- complement input.csv > output.csv

私はこれが一般的なCSVで動作することを知っています。しかし、ここには中かっこと「」もあります。

ベストアンサー1

私はこれをします。sed

$ sed -r 's/"\{([0-9]+,).*,([0-9]+)\}"/\1\2/' input
1,4
1,9
34,89

ノート

  • -rEREを使用
  • \}言葉{
  • ([0-9]+,)後で使用できるように、数字の後にカンマを付けて保存してください。
  • \1\2保存されたスキーマへの逆参照

(あなたの出力はインデントされていますので、必要に応じて交換することもできます。/ \1\2/必要/\t\1\2/に応じて調整してください。)

おすすめ記事