$ seq 1 3
1
2
3
$ seq 1 3 | xargs echo
1 2 3
$
Ersetzen Sie geistig durch seq 1 3
einen Befehl, der Einträge pro Zeile im Standardausgang auflistet. Wie kann ich mehr oder weniger das bekommen, was Sie erwarten würden, dh die Einträge in separaten Zeilen ( echo 1; echo 2; echo 3;
)?
Brewfile
for Homebrew in meinem eigenen Bootstrap-Skript . Ich bin nicht sicher, ob ich irgendwelche Funktionen der Shell verwenden kann, um die Arbeit zu erledigen.
nocomment
und oneline
die zu einer Funktion kombiniert nocomment_oneline
und gesetzt werden könntesed '/^#/d;/^.$/d' "$1" | sed -e :a -e '$!N;s/\n/ /;ta'
xargs
nicht der Befehl, den Sie brauchen. Sie verwenden zwei externe Befehleseq
jeweils umxargs
etwas zu erreichen , dass die Shell es tun können , auf sie selbst ist. Nehmen Sie zum Beispiel die Klammererweiterung in Bash. Sie könnten dann ausstellenprintf '%s\n' {1..10}
, um das gewünschte Ergebnis zu erhalten