Linux:如何回显禁用'\ t'?

时间:2015-10-30 20:35:08

标签: linux

我想完全如下:

 cut -d$'\t' test1.txt 
 cut -d$'\t' test2.txt 

使用:

for i in 1 2; do
  echo "cut -d$'\t' test$i.txt"
done

但事实证明:

cut -d$' ' test1.txt
cut -d$' ' test2.txt

怎样才能从echo获得'\ t'?感谢

1 个答案:

答案 0 :(得分:0)

echo可能会也可能不会尊重或扩展标记或转义序列。 printf没有这种未定义的行为。如果您想要精确输出,请完全远离echo。此外,您应该转义任何特殊字符,例如$\以获得良好的衡量标准:

for i in 1 2
do
  printf "%s\n" "cut -d\$'\\t' test$i.txt"
done

顺便说一句,如果您想使用test*.txt处理cut个文件,这是一个非常糟糕的起点。