在 awk 中使用通配符保存新文件名

Save new file name using wildcards with awk

我有 22 个文件以从 1 到 22 的数字命名。例如:

bla.chr1.bla.norm

bla.chr2.bla.norm

etc...

我制作了一个简单的 awk 脚本以在第一列添加文件名的特定编号:

for i in {1..22}

do 

awk '{print "'"$i "'" [=10=]}' *.chr${i}.*.norm > *.chr${i}.*.norm.chr 

done

但是现在我想使用我之前使用的通配符来保存所有文件。可能吗?

试试这个,呆呆的

awk '{match(FILENAME,"chr([0-9]+).",t); print t[1] [=10=] > FILENAME".chr"}' *.norm