Edite dados no tubo com o seu editor favorito

Cada codificador tem seu editor favorito e aproveite para usá-lo sempre que possível.
Mas, ao usar pipe em um sistema operacional baseado em Unix ou inspirado, a manipulação de texto só está disponível com programas como sedou awk.

O código a seguir é uma porta de shell do programa vipe de Joey Hess ‘s moreutils pacote, permitindo que você edite os dados na tubulação com seu editor favorito.

Edite seu ~ / .bashrc e adicione as seguintes linhas:

function vipe()
{
TMP_FILE
=$(mktemp);
cat
> $TMP_FILE;
[ -n "$EDITOR" ] && $EDITOR $TMP_FILE;
cat $TMP_FILE
;
rm $TMP_FILE
;
}

Em seguida, atualize seu shell, se necessário:

. ~/.bashrc

Agora, com a EDITORvariável de ambiente apontando para seu editor favorito, você pode editar dados no tubo:

echo 'abcdefgh' | vipe | sed 's/a/1/g'