ottengo:Bash: Perché echo aggiunge spazio extra?
$ echo -e "D"{a,b,c}".jpg\n"
Da.jpg
Db.jpg
Dc.jpg
Nota: Gli spazi aggiuntivi prima di Db e Dc sulla linea 2 ° e 3 ° dell'uscita.
Perché ci sono questi?
Grazie, Dan
Edit: Dal momento che il mio obiettivo reale era spazi in esso (che avrei scritto in origine):
echo -e "Name"{,.}" "{-,}"extra"{,so}" 5v5 "{one,two,No\ four}{,!,\!\!}"\n"
La maggior parte delle soluzioni qui non ha funzionato per me (per loop, xarg, tr). Printf non ha funzionato a causa di più espansioni di parentesi che voglio prodotto cantesiano.
ho combinato 3 soluzioni (\ b di mletterle, spazio in più di Dennis Williamson, e Jim Dennis sta usando molto meno le virgolette) per ottenere:
echo -e "" \\bName{,.}\ {-,}extra{,so}\ 5v5\ {one,two,No\ four}{,\!,\!\!}\\n
Grazie a tutti che ha risposto! Ho imparato molto dalle tue risposte!
Dan
'echo' non può fare altro qui, sta ottenendo gli spazi da' bash'. –
Per aggirare il problema utilizzare: echo -e D {a, b, c} .jpg \\ n | tr -d "" (traduci l'utilità con l'opzione -d --- delete). (A proposito: non hai bisogno di tutte quelle citazioni, solo un extra \ è sufficiente). –