在某种循环中将许多文件粘贴在一起,粘贴命令

Pasting many files together in some sort of loop, paste command

我想做类似

的事情
for i in (1..101)
do
     paste file${i}
done

但这将是 100 个单独的命令,而不是将 100 个文件粘贴在一起

这样我就不必做

paste file1 file2 file3 file4 ....... file101

谢谢

代替 运行循环中的命令,您可以连接循环中的字符串,然后 运行 最后的命令。

STR=""
for i in (1..101)
do
    STR=$STR"file"$i" "
done
paste $STR        

要粘贴编号从 1 到 101 的 101 个文件,您可以使用 Bash 和 Korn Shell 的 brace expansion 功能。

paste file{1..101} > output.file

注意:大括号扩展符号很脆弱——打破它并不需要太多——而且不是很灵活(例如,范围不能由变量指定)。

您也可以考虑使用 seq:

paste $(seq -f 'file%.0f' 1 101) > output.file

只要生成的名称不包含空格或其他类似字符,它就可以工作。