带有步长增量的支撑扩展无法正常工作

亚历杭德罗·D·索莫萨

我正在尝试将一些文本文件堆叠为新列。这些文件名为energies_Strength0.0BosonsXXX.txt,其中XXX是80,90,100或110。当我运行以下命令时:

paste energies_Strength0.0Bosons{110..80..10}.txt | column -s $'\t' -t > energies_Strength0.0.txt

我收到以下错误:

paste: energies_Strength0.0Bosons{110..80..10}.txt: No such file or directory
paste: energies_Strength0.1Bosons{110..80..10}.txt: No such file or directory
paste: energies_Strength0.05Bosons{110..80..10}.txt: No such file or directory
paste: energies_Strength0.15Bosons{110..80..10}.txt: No such file or directory

如果文件以单位步长索引,则该命令也可以正常工作。这是如果XXX = {80,81,82,...,109,110}而我运行的命令:

 paste energies_Strength0.0Bosons{110..80}.txt | column -s $'\t' -t > energies_Strength0.0.txt

编辑:

您好,根据您的想法,我尝试了以下几行:

#$ -S /bin/bash
LANG=C 

for ((i=110; i>=80; i-=10));
do
paste energies_Strength0.0Bosons$i.txt | column -s $'\t' -t > energies_Strength0.0.txt
done 

但只会粘贴... Bosons80.txt文件。我需要构建如下结构:

paste ...80.txt ...90.txt ...100.txt ...110.txt | column -s $'\t' -t > energies_Strength0.0.txt
阿努巴瓦

{110..80..10} 仅BASH 4+版本支持该语法。

在OSX上,您的BASH版本是3.2.xx

您可以使用以下替代算术循环:

for ((i=110; i>=80; i-=10)); do echo $i.txt; done

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章