s3bin sync
次のような形式の出力を含むファイルがあります
Sync: s3://my-bin-url/source/000/000/001.jpg -> s3://my-bin-url/400/x/000/000/001.jpg
Sync: s3://my-bin-url/source/000/000/002.jpg -> s3://my-bin-url/400/x/000/000/002.jpg
Sync: s3://my-bin-url/source/000/000/003.jpg -> s3://my-bin-url/400/x/000/000/003.jpg
次の内容を含むファイルになりたい
000/000/001.jpg
000/000/002.jpg
000/000/003.jpg
sed
次のコマンドを使用してこれを実行しようとしています。これは#!/bin/sh
スクリプト内に含まれて$2
おり、絶対ファイル パスに対応します。このファイルは常に存在します。
sed --in-place --regexp-extended '/.*((?:[0-9]{3}\/){2}[0-9]{3}\.jpg)/\1/gi' $2
スクリプトを実行すると、次のエラー メッセージが表示されます
sed: -e expression #1, char 36: Invalid preceding regular expression
この問題を調べようとしても、これまでのところ有用な応答は得られていません。提案のみが、/
がエスケープされていることを確認すること (これはそうです) と をエスケープすること{}
(これは、使用していない場合にのみ適用されるようです) に関するものです。--regexp-extended