在 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
我有 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