Проблема здесь в том, что вы используете двойные кавычки вместо одинарных, поэтому правильное значение таково:
awk -F_ ''
Когда вы используете двойные кавычки, оболочка расширяется $1
до того, что определено. Если это ничто, оно расширяется в ничто, и, следовательно, вы получаете простое, которое печатает всю строку.
$ echo "$ 1"
$ echo "hello_you" | awk -F_ "" hello_you $ echo "hello_you" | awk -F_ '' hello
И посмотрите, как мы можем сделать это полезным в некотором роде:
$ myvar="ueee" $ echo "hello_you" | awk -F_ "" 23