Das Problem hierbei ist, dass Sie doppelte Anführungszeichen anstelle von einfachen Anführungszeichen verwenden.
awk -F_ ''
Wenn Sie doppelte Anführungszeichen verwenden, wird die Shell $1
auf das Definierte erweitert. Wenn es nichts ist, wird es zu nichts erweitert und daher erhalten Sie eine einfache , die die gesamte Zeile druckt.
$ echo "$ 1"
$ echo "hello_you" | awk -F_ "" hello_you $ echo "hello_you" | awk -F_ '' hello
Und sehen, wie wir es auf irgendeine Weise nützlich machen können:
$ myvar="ueee" $ echo "hello_you" | awk -F_ "" 23