我在目录中有300个文本文件,格式如下
regional_vol_WM1.txt
651328 651328
553949 553949
307287 307287
2558 2558
regional_vol_WM2.txt
651328 651328
553949 553949
307287 307287
2138 2138
我想迭代所有这些txt文件,并使用公式在第4行的两列上执行计算
(Value of fourth row /0.824198)*0.8490061
应该创建一个新名称为regional_vol_WM2_prop.txt的新文件,其中前三行具有相同的值,第四行具有更新的值和新计算的输出
任何建议表示赞赏。
答案 0 :(得分:2)
#!/bin/bash
awk '
FNR == 1 {
newfilename = FILENAME ; sub(".txt", "_prop.txt", newfilename)
printf "" > newfilename
}
FNR == 4 {
$1=($1/0.824198)*0.8490061
$2=($2/0.824198)*0.8490061
}
{
print >> newfilename
}
' regional_vol_WM*[0-9].txt