linux - cut 操作 - 奇怪的行为

标签 linux shell unix

由于输入数据中的“*”,剪切操作给出了意想不到的结果,如何修复它..

下面的解释会更好:

$ 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中的'*',如何解决??

最佳答案

引用你的变量...

vname=`echo "$line" | cut -d' ' -f4-$NF`

另外,当你使用 $vname 时,一定要引用它......

echo "$vname"

关于linux - cut 操作 - 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6300163/

相关文章:

php - 如何忽略PHP中的 undefined variable 错误

python - 从 Python 中创建并执行 tcsh 脚本

linux - 逐行读取文件并在每行中打印第一个匹配项,或者在没有匹配项时打印 "no_data"

linux - Bash 在 Linux 中的 vpnc 连接后在 resolv.conf 的搜索字段中附加域

java - 使用 Java process exec 通过 tee 命令将 telnet 输出通过管道传输到日志文件

shell - 字符大小写转换 大写到小写,反之亦然

c - 如何使用 c 中的套接字 api 一次性发送 .bmp 文件?

c++ - gcc 中库 dl 的含义

linux - 用于打印字符串的一部分的命令?

c# - Active Directory - 使用 C# 的用户的 UNIX 属性