在某种循环中将许多文件粘贴在一起,粘贴命令
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
只要生成的名称不包含空格或其他类似字符,它就可以工作。
我想做类似
的事情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
只要生成的名称不包含空格或其他类似字符,它就可以工作。