Erstens, Ihre Funktion verwendet nur 1 Argument, so dass die Verwendung von Xargs hier nur den ersten Arg übernimmt. Sie müssen die Funktion der folgenden Änderungen:
ord() {
printf '%d' "[email protected]"
}
Um xargs eine Funktion von Ihrem bashrc zu verwenden, müssen Sie eine neue interaktive Shell laichen. So etwas wie dies funktionieren kann:
awk '{split($0,a,""); for (i=1; i<=100; i++) print a[i]}' anyFile.txt | xargs bash -i -c 'ord [email protected]' _
Da Sie bereits je nach Wort Splitting, man konnte nur Ausgang des Speichers awk in einem Array.
arr=(awk '{split($0,a,""); for (i=1; i<=100; i++) print a[i]}' anyFile.txt)
ord "${arr[@]}"
Oder Sie awk die printf verwenden können:
awk '{split($0,a,""); for (i=1; i<=100; i++) printf("%d",a[i])}' anyFile.txt
Warum ist diese Downvoted bekommen? – lonestar21
Vielleicht für die UUOC? Ich bin nicht der Downvoter – jordanm