我有一个场景,我必须使用一些变量值创建制表符分隔文件(.tsv),如下面的结构
$header1 $T $header2 $T $header3
$valueX1 $T $valueY1 $T $valueZ1
$valueX2 $T $valueY2 $T $valueZ2
$valueX3 $T $valueY3 $T $valueZ3
# where $T represent a Tab
有人可以使用Unix shell脚本命令创建这个文件结构吗?
提前致谢
答案 0 :(得分:0)
您可以使用printf
来编写制表符,方法是将其分配给变量T
,如下例所示:
T=$(printf '\t')
header1=Foo header2=Bar
# The string must be double quoted!
echo "$header1$T$header2"
或可能将其与此处的文件一起使用:
cat > file.tsv << EOF
$header1 $T $header2 $T $header3
$valueX1 $T $valueY1 $T $valueZ1
$valueX2 $T $valueY2 $T $valueZ2
$valueX3 $T $valueY3 $T $valueZ3
EOF
或直接使用printf:
printf "%s\t%s\n" "$header1" "$header2"