我正在尝试编写一个bash脚本,该脚本将复制一个文件,从文件中取出某些数字并使其成为Header。原始文件如下所示:
#
# Rotational transition: j= **3**--> **8**
#
# Threshold energy **0.72598151E-01** eV
#
0.01000019 0.000000
0.03000057 0.000000
...
我已将要复制的功能设为粗体,因此输出文件将如下所示:
3 8 0.72598151E-01
#
# Rotational transition: j= **3**--> **8**
#
# Threshold energy **0.72598151E-01** eV
#
0.01000019 0.000000
0.03000057 0.000000
...
我希望这个脚本能够复制一堆文件,这些文件都具有与上面相同的布局,但每个文件上的数字都会不同。我复制文件的脚本是:
echo > newFile
while read -r line
do
echo $line >> newFile
done < originalFile
done
非常感谢您的帮助
詹姆斯
答案 0 :(得分:1)
未经测试,但你明白了:
FIRST=$(head -n2 "$1" | grep 'Rotational transition' | sed 's/.*j=//; s/\s//g; s/-->/ /')
SECOND=$(head -n4 "$1" | grep 'Threshold energy' | sed 's/.*energy //; s/ eV//')
echo "$FIRST $SECOND" > "$2"
cat "$1" >> "$2"