bash命令中的bash invalid delimiter

时间:2014-05-08 11:11:18

标签: bash cut

tab="`\echo '\t'`"

grep "^.*${tab}.*${tab}.*${tab}.*${tab}.*${tab}" $file | 
  grep -vi ssm_id |
    cut -f 1,5,6 -d "${tab}" > $rmloadfile

我收到错误

-cut: invalid delimiter

上面的代码是我的bash脚本的一部分。

2 个答案:

答案 0 :(得分:3)

忽略实际问题,你真的想在这里使用awk而不是grepcut的这种组合:

awk 'NF>=6 && tolower($0) !~ ssm_id { print $1, $5, $6 }' $file > $rmloadfile

答案 1 :(得分:1)

默认情况下,echo命令不会解释反斜杠转义字符。必须使用-e开关启用它。

如果您使用:

tab="$(echo -e '\t')"

它有效。

但我宁愿建议在评论中使用@devnull提出的方法,或参考链接的问题。