0
私はsed appendで変数を使用しようとしています。"unterminated address regex" sedで変数を使用
予想通り、次のコマンド作品は:
sed -i "\:#file = /mnt/var/log/hadoop-yarn/containers/application_1495965866386_0001/container_1495965866386_0001_01_000002/stderr:a file = /path/to/other/file" /etc/conf/service.conf
私はエラーを打ってる変数とパターン置き換えただし場合:
$ echo $item
#file = /mnt/var/log/hadoop-yarn/containers/application_1495965866386_0001/container_1495965866386_0001_01_000002/stdout
$ sed -i "\:$item:a file = /path/to/other/file" /etc/conf/service.conf
sed: -e expression #1, char 122: unterminated address regex
詳細はEDIT:だから「アイテムを'変数は配列から取り込まれています。
$item="#file = /mnt/var/log/hadoop-yarn/containers/application_1495965866386_0001/container_1495965866386_0001_01_000002/stdout"
$sed -i "\:$item:a file = /path/to/other/file" /etc/conf/service.conf
$
とても奇妙な何かをして起こっているようだ:私は手動で「アイテム」を取り込む場合、それはその後、例えば作品見つけたしかし
$readarray LINES < <(grep "#file = /mnt/var/" /etc/conf/service.conf)
$item=${LINES[1]}
$echo $item
#file = /mnt/var/log/hadoop-yarn/containers/application_1495965866386_0001/container_1495965866386_0001_01_000002/stdout
:その配列はreadarrayとgrepから作成されますreadarray/grep
私はうまく動作します。 –
私にとってもうまく働いた。 – Jack
'-i'を削除するか、' -i.bak'に変更すると動作しますか? –