A opção -e
de sed
é inserir uma expressão válida sed
, não um nome de arquivo contendo os comandos sed
, o -f
opção é para nome de arquivo contendo expressões sed
válidas.
No seu caso:
sed -e sedscript.sh
está sendo trilhado como uma operação de substituição ( s
) de sed
à medida que a expressão começa com s
, com e
como delimitador para s
(substituição) e sed
está reclamando corretamente sobre o comando s
(substituição) não finalizado.
Divirta-se:
% sed -e sedscript.sheFOOe <<<'dscript.shBAR'
FOOBAR
O que você pode fazer:
-
Seu arquivo é necessariamente um script de shell, você pode simplesmente executá-lo como assim
-
Use
-e
para colocar a exposição na linha de comando diretamente,-e
não é estritamente necessário:sed 's/^ *[0-9]\+.//g' tictactoeold.py >tictactoenew.py sed -e 's/^ *[0-9]\+.//g' tictactoeold.py >tictactoenew.py
-
Use a opção
-f
e mantenha apenas as expressõessed
no arquivo, ou seja, crie o arquivosedscript
como:s/^ *[0-9]\+.//g
e, em seguida, use o comando
sed
como:sed -f sedscript tictactoeold.py >tictactoenew.py