我有一堆标记为file1.out, file2.out, file3.out, ...,的输出文件fileN.out。
所有这些文件中都有一个名为“keystring”的字符串的多个实例。然而,只有“keystring”的第一个实例对我来说才有意义。其他线路不需要。
当我这样做时,
grep 'keystring' *.out
我会到达所有文件,并且它们会输出keystring.
当我这样做时grep -m1 'keystring' *.out,我只在有密钥字符串时获取实例file1.out。
我想提取所有这些输出文件中密钥字符串首先出现的行。我怎样才能做到这一点?
我试图将硬球装在一个单位立方体的盒子里,这样这些球不能相互重叠。这是在 Python 中完成的。我得到了一些填充分数f,系统中的球体数量是N. 所以,我说每个球体的直径将为
d = (p*6/(math.pi*N)**)1/3)。我的盒子有周期性的边界条件——这意味着我的盒子在所有方向都有一个重复出现的图像。如果有一个粒子在盒子的边缘并且它的一部分超出了墙壁,它会从另一侧伸出。
我的尝试:
box,其中包含每个粒子的位置向量[x,y,z]d,则移动到下一个粒子。如果它们重叠,则随机更改相关粒子的位置向量。如果新位置不与之前的原子重叠,则接受它。我试图用以下方式用这些硬球填充我的盒子:
for i in range(1,N):
mybool=True
print("particles in box: " + str(i))
while (mybool): #the deal with this while loop is that if we place a bad particle, we need to change its position, and restart the process of checking
for j in range(0,i):
displacement=box[j,:]-box[i,:]
for k in range(3):
if abs(displacement[k])>L/2:
displacement[k] …Run Code Online (Sandbox Code Playgroud)