首页 > 解决方案 > 估计文件中的行数并将该值作为第一行插入

问题描述

我有许多文件,我必须估计每个文件中的行数并将该值添加为第一行。为了估计,我使用了这样的东西:

          wc -l 000600.txt | awk '{ print $1 }'

但是,如何为所有文件执行此操作然后将与每个文件对应的值添加为第一行没有成功。

一个例子:a.txt b.txt c.txt

 >>print a
   15

 >> print b
   22

 >>print c
   56

那么15、22、56应该分别添加到:a.txt b.txt和c.txt

我很感激帮助。

标签: bashshellwc

解决方案


您可以在文件的第一行添加一个模式,例如 (LINENUM),然后使用以下脚本。

 wc -l a.txt  | awk 'BEGIN {FS =" ";} { print $1;}' | xargs -I {} sed -i 's/LINENUM/LINENUM:{}/' a.txt

或仅使用此脚本:

wc -l a.txt  | awk 'BEGIN {FS =" ";} { print $1;}' | xargs -I {} sed -i '1s/^/LINENUM:{}\n/' a.txt

推荐阅读