sort -t $'\t' 相当于兼容 POSIX sh?

sort -t $'\t' equivalent compatible with POSIX sh?

我正在尝试使用管道命令对目录中的多个文件使用 for 循环,但它似乎不起作用。当我 运行 在单个文件上执行相同的命令时,它似乎可以工作。我哪里弄错了?

for x in *summary-FDR0.05 ; do sort -t $'\t' -k8,8rn $x | head -n 50000 | sortBed -i > sorted_top_50k_$x.bed; done

我所有的文件都以 summary-FDR0.05 结尾。当我 运行

sort -t $'\t' -k8,8rn sample13-summary-FDR0.05 | head -n 50000 | sortBed -i > sorted_top_50k_S_13_O1_122*K27ac.bed

这似乎很有效。我可以知道我在哪里穿的吗

错误:

sort: multi-character tab `$\t'

谢谢

为了 POSIX 兼容性,将 $'\t' 替换为 "$(printf "\t")"