1,print是ksh的內建命令,而printf是bash的內建命令

2,print 中不能使用%s ,%d 或%c;

3,print 自動換行,printf 沒有自動換行。

比如下面指令碼的輸出:

$ cat print-printf.sh 
#!/bin/bash

echo $0 $1
if [ $1x == 1x ]; then
    echo "printf"
    awk '{for(i=1;i<5;i++){printf($i"\t")}}' test.txt
else
    echo "print"
    awk '{for(i=1;i<5;i++){print($i"\t")}}' test.txt
fi