cut 命令在其输出为“*”时表现不同
cut command behaving differently when its output is “ * ”
我正在尝试创建一个 shell 脚本,下面是我试图从文件中的记录中提取一些值的一部分:
tgt_val=cat $file_name | grep "$string_name" | cut -d"|" -f$column_no
当指定的列有一些数字或字符串值时,这非常有效,但是当列的值为 *
时,它会失败,例如:
102|Sam|*|USA
此命令适用于第 1、2 和 4 列
然而,在第 3 列的情况下,它给我的输出是当前目录中的所有文件。
请有人帮忙解决这个问题。
我的 $tgt_val 有问题。当我将值回显为 echo "$tgt_val"
时它起作用了
我正在尝试创建一个 shell 脚本,下面是我试图从文件中的记录中提取一些值的一部分:
tgt_val=cat $file_name | grep "$string_name" | cut -d"|" -f$column_no
当指定的列有一些数字或字符串值时,这非常有效,但是当列的值为 *
时,它会失败,例如:
102|Sam|*|USA
此命令适用于第 1、2 和 4 列
然而,在第 3 列的情况下,它给我的输出是当前目录中的所有文件。
请有人帮忙解决这个问题。
我的 $tgt_val 有问题。当我将值回显为 echo "$tgt_val"
时它起作用了