特定の表現をどのようにsedしますか?

特定の表現をどのようにsedしますか?

私は成功しなかったしばらくこの問題に取り組んできました。 sedが必要です。

1.0.0/hk/base/9/7/56.png2003444

これを入力してください

hk,9,7,56,200,3444

どんな助けでも大変感謝します。

編集する。

最初の行はファイル内の文字列を表します。 2行目 - 結果がCSVファイルに使用されます。

セクションには固定数の文字が含まれています(常に)。1.0.0/hk/base/ セクションは文字数によって異なります。9/7/56 2003444

私はそうするように指示されました:

-e 's/\/base\//,/g'

次を返します。

1.0.0/hk,9/7/56.png2003444

しかし、他のことを処理する方法がわかりません。

ベストアンサー1

この文字列の場合、次の変換が機能します。

sed 's|.*/\(.*\)/.*/\(.*\)/\(.*\)/\(.*\)\.png\(...\)\(....\)|\1,\2,\3,\4,\5\,\6|'

最後の2つの部分の長さが異なる場合を含む、他の行の形式が正しく指定されていない場合、問題が発生します。

おすすめ記事