为了汇集一批文件中的特定内容,我这样做
for ID in {92..128}; do
sed '3q;d' directory_$ID/stats
done
现在,如果想将 放在$ID
读取的每行前面(最好以固定宽度的方式移动列),然后将该行附加到report.txt 文件中(如果不存在则创建它)。我对此做了一些研究,但似乎有很多潜在的方法可以做到这一点,但作为一个新的 Linux 用户,我不熟悉其中的任何一种(也许下次我应该使用 Python)。
答案1
$ID
在每行的开头附加(带空格)类似
sed "s/^/$ID /"
应该有效(注意双引号,而不是单引号)。如果您想在给定循环内执行此操作并重定向输出以report.txt
尝试
for ID in {92..128}; do
sed "s/^/$ID /;3q;d" directory_$ID/stats
done > report.txt