xargs und spaces

17/07/2016 - 12:14 von Ulli Horlacher | Report spam
Wie kann ich xargs sagen leading spaces zu beruecksichtigen?
Beispiel:

framstag@fex:~: printf " a b 23" | xargs -I %a echo "[%a]"
[a b ]
[2]
[3]

Am Input kann ich nichts veraendern, also ist das:

framstag@fex:~: printf "\ a b 23" | xargs -I %a echo "[%a]"
[ a b ]
[2]
[3]

keine Loesung.

read unterschlaegt gar leading und trailing spaces:

framstag@fex:~: printf " a b 23" | while read a; do echo "[$a]"; done
[a b]
[2]
[3]


Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: horlacher@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: http://www.tik.uni-stuttgart.de/
 

Lesen sie die antworten

#1 Sven Hartge
17/07/2016 - 13:12 | Warnen spam
Ulli Horlacher wrote:

read unterschlaegt gar leading und trailing spaces:



read wird aber von IFS beeinflußt:

:~: printf " a b 23" | while read a; do echo "[$a]"; done
[a b]
[2]
[3]



:~$ IFS=
:~$ printf " a b 23" | while read a; do echo "[$a]"; done
[ a b ]
[2]
[3]



Sigmentation fault. Core dumped.

Ähnliche fragen