我有一个文件,其中包含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