从文件中读取行,进行操作,然后附加到另一个文件

从文件中读取行,进行操作,然后附加到另一个文件

为了汇集一批文件中的特定内容,我这样做

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

相关内容