[英]awk command in bash script replaced my file field separator from “:” to “ ”
[英]bash: 'cut' command field separator
count=1;echo "Hello Bash"| cut -d" " -f$count
上面的命令给出了错误说明:“ 尝试'cut --help'了解更多信息。 ”
该错误是由于在字段分隔符(-f $ count)中使用了变量“ $ count”。
字段分隔符是否不允许使用变量? 这是剪切命令的问题,还是我缺少了什么?
PS:我正在使用Linux Kernel 2.3版
问题的原因很可能与外壳相关。 在用分号分隔的复合命令中扩展变量时,某些旧shell实际上可能存在错误,即,给定赋值的变量可能在同一行上以旧值扩展:
count=1;echo "Hello Bash"| cut -d" " -f$count ## $count may still be empty here
echo "$count" ## already 1
不知何故管道也可能是一个因素。
当然,如果echo "Hello Bash"| cut -d" " -f1
echo "Hello Bash"| cut -d" " -f1
实际上有效。 如果不是它cut
这就是被指责。 也许您需要在-d
和-f
之后的参数前添加空格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.