我想对 31 个分隔文件名 chr1.txt ... chr31.txt 运行以下命令,并且仅通过一次运行即可获得 31 个输出。
这是命令:
cat input.txt | sed 's/.\{5\}/& /g' > output.txt
有什么建议吗?
答案1
如果您的 shell 支持大括号扩展,您可以执行以下操作:
sed 's/.\{5\}/& /g' chr{1..31}.txt >output.txt
chr{1..31}.txt
将扩展至chr1.txt
,chr2.txt
...chr31.txt
整个输出(来自所有文件)将保存到output.txt
.
答案2
一个简单的循环就可以解决问题:
for((i=1;i<32;i++));do cat chr$i.txt | sed 's/.\{5\}/& /g' > output$i.txt; done