Кажется, теперь работает




Вчера случайно наткнулся на когда-то давно написанную команду на sed, и оказалось, что она не работает. Поправил, теперь, кажется, всё работает, как надо. Посмотрите, пожалуйста, всё ли правильно ;) (только sed нужен обязательно GNU, из busybox не подойдёт).

echo|sed 's/^/\/;h;sa\\\\a\\\\\\\\ag;s\/\&\/\\\\\\\&\/g;sa\/a\\\\\/ag;G;sa\\naa;s\/^\/echo|sed s\\\/^\\\/\/;sa a \\d039a;sa$a\\d039 > \/dev\/null \\\&a;h;:a;g;sa^aae;ba;q/;h;sa\\a\\\\ag;s/&/\\\&/g;sa/a\\/ag;G;sa\naa;s/^/echo|sed s\/^\//;sa a \d039a;sa$a\d039 > /dev/null \&a;h;:a;g;sa^aae;ba;q'

Ответ на: комментарий от anonymous
3.5 The `s' Command
     This command allows one to pipe input from a shell command into
     pattern space.  If a substitution was made, the command that is
     found in pattern space is executed and pattern space is replaced
     with its output.  A trailing newline is suppressed; results are
     undefined if the command to be executed contains a NUL character.
     This is a GNU `sed' extension.

Прикольно, не знал.

xaizek ★★★★★ ()