用于tsv文件的Unix shell脚本

时间:2014-02-25 01:09:40

标签: shell unix

我有一个场景,我必须使用一些变量值创建制表符分隔文件(.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脚本命令创建这个文件结构吗?

提前致谢

1 个答案:

答案 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"