LINUX.ORG.RU

История изменений

Исправление annulen, (текущая версия) :

$ cat replace.pl
#!/usr/bin/perl -p
$p = quotemeta '${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$';
s/$p/abcd/;
$ cat tmp
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
$ cat tmp | ./replace.pl 
PS1='abcd '

Пояснение: сделать такую замену однострочником будет проблематично, так как экранирование спецсимволов нужно не только для процессора, выполняющего замену (sed, perl, …), но и для самого шелла.

Исходная версия annulen, :

$ cat replace.pl
#!/usr/bin/perl -p
$p = quotemeta '${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$';
s/$p/abcd/;
$ cat tmp
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
$ cat tmp | ./replace.pl 
PS1='abcd '