由于输入数据中的“*”,切割操作会产生意外结果,如何修复它。
以下将更好地解释:
$ line="000067 (base 16) SOFT * RITE, INC."
$ vendoroui=`echo $line | cut -d' ' -f1`
$ echo $vendoroui
000067
$ vname=`echo $line | cut -d' ' -f4-$NF`
$ echo $vname
1 bb bn btest.txt btmp.txt cc cut if sedTbKkAE sorted start.txt t10.sh t11.sh t12.sh t13.sh t14.sh t1.sh t2.txt t3.sh t4.sh t5.sh t6.sh t7.sh t8.sh t9.sh tmp RITE, INC.
这是由于inPut中的'*',如何修复它?
答案 0 :(得分:5)
引用您的line
变量...
vname=`echo "$line" | cut -d' ' -f4-$NF`
另外,当你使用$ vname时一定要引用它...
echo "$vname"