STRING_WITH_SPACES="a string with spaces"
ls -l | sed "s/$/ $STRING_WITH_SPACES/"
Eu quero adicionar uma string com espaços no final de cada linha da saída do comando ls
.
#!/bin/sh
STRING_WITH_SPACES="this should be at the end of output"
ls -lh | sed 's|$| '$STRING_WITH_SPACES'|'
O script acima funciona bem quando $STRING_WITH_SPACES
não tem espaços:
-rw-r--r-- 1 me users 0 May 4 14:55 testfile thisshouldbeattheend
No entanto, quando há espaços em $STRING_WITH_SPACES
sed reclama:
sed: -e expression #1, char 9: unterminated 's' command
Como posso resolver isso?
Por favor, não analise a saída de ls
. Não há razão para e complica as coisas. Uma maneira mais segura de escrever seu roteiro seria
#!/bin/sh
STRING_WITH_SPACES="this should be at the end of output"
find . -maxdepth 1 -mindepth 1 -ls | sed "s/$/ $STRING_WITH_SPACES/"
Tags sed whitespace string