我绝对不是程序员,对此领域一无所知。
我总是要在文件顶部添加七行才能运行它们,这很无聊。
是否可以创建一个Perl脚本,该脚本可以将相同的六行从一个文件复制到一组具有相同名称的文件,但数字除外。
function drawPoint(x, y){
console.log("Drawing point(" + x + ", " + y + ")");
//your logic of drawing here...
}
var path = {
x: [0,100,100],
y: [0,10,50],
};
for(var key in path.x){
drawPoint(path.x[key], path.y[key])
}
文件名称为nproc=8
mem=48gb
B3LYP/6-31g(d,p) opt
input
1 1
,test1.com
等。
他们的形式是这样的
test2.com
我想将它们转换为
H 2.3
C 4.1
'blank line'
我尝试修改我找到的脚本,但它复制了底部的七行。
这是我使用的脚本,但不起作用(文件是.sh):
nproc=8
mem=48gb
B3LYP/6-31g(d,p) opt
input
1 1
H 2.3
C 4.1
'blank line'
答案 0 :(得分:0)
问题在于这一行
head -7 seed.com | tail -7 >> test$i.com
我会这样做
( head -n 7 seed.com ; cat test$i.com ) > full_test$i.com
这将保留test*.com
个文件,并创建名为full_test*.com
的新文件,这些文件将是合并后的版本。
您可以直接更新test*.com
个文件,但如果您不小心运行了两次脚本,那么每个test*.com
会有两个标题。
答案 1 :(得分:0)
您实际上无法插入文件。你只能写一个文件。在优化之前插入文件看起来如下所示:
优点:
缺点:
有两种更简单的方法,一种涉及将整个文件读入内存,另一种涉及临时文件。以下是后者:
cat seed.com "test$i.com" >"test$i.com.tmp" && mv "test$i.com.tmp" "test$i.com"
优点:
缺点: