分页: 1 / 2

如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-05-30 20:18
sharrybaby
文件1格式如下:
GLAT GLON
45 -105
10 90
50 135
文件2中内容如下:
Mandatory parameters:
NALT = 100 : number of altitude points
ZUB = 1000.00 : upper bound of atmosphere (km)
YYDDD = 92274 : year & day (YYDDD format)
UTSEC = 61200.00 : universal time (sec)
GLAT = 0.00 : latitude (deg)
GLON = -165.00 : longitude (deg)
将文件2中GLAT=0.00和GLON=-165.00中的两个数字替换为文件1中第二行的两个数(即改为GLAT=45,GLON=-105),并保存文件2,该怎么做啊?求大侠帮忙

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-05-30 22:22
lxr1234
不明白所要效果,给出一个修改后的例子,而且数据多给点,不然不好理解意图

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-05-30 23:47
sharrybaby
lxr1234 写了:不明白所要效果,给出一个修改后的例子,而且数据多给点,不然不好理解意图
改好了,不知道说明白了没有~~~就是将文件2中GLAT行第三个字段的数字替换为文件1中第一列的数字,GLON行第三个字段的数字替换为文件1中第一列的数字,然后保存文件2

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-05-31 9:46
link_01
打开俩文本编辑器 :em09

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-05-31 10:49
sharrybaby
link_01 写了:打开俩文本编辑器 :em09
能不能说的具体一点儿啊

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-05-31 15:25
link_01
哈哈,就是几个文件的话手动修改,很多的话再考虑shell

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 0:31
naturalaw
GLAT GLON
45 -105
10 90
50 135
文件2中内容如下:
Mandatory parameters:
NALT = 100 : number of altitude points
ZUB = 1000.00 : upper bound of atmosphere (km)
YYDDD = 92274 : year & day (YYDDD format)
UTSEC = 61200.00 : universal time (sec)
GLAT = 0.00 : latitude (deg)
GLON = -165.00 : longitude (deg)
将文件2中GLAT=0.00和GLON=-165.00中的两个数字替换为文件1中第二行的两个数(即改为GLAT=45,GLON=-105),并保存文件2
变量。awk sed
给多点数据出来。。。。
要不你就对照着文件1修改文件2.

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 20:14
sharrybaby
naturalaw 写了:
GLAT GLON
45 -105
10 90
50 135
文件2中内容如下:
Mandatory parameters:
NALT = 100 : number of altitude points
ZUB = 1000.00 : upper bound of atmosphere (km)
YYDDD = 92274 : year & day (YYDDD format)
UTSEC = 61200.00 : universal time (sec)
GLAT = 0.00 : latitude (deg)
GLON = -165.00 : longitude (deg)
将文件2中GLAT=0.00和GLON=-165.00中的两个数字替换为文件1中第二行的两个数(即改为GLAT=45,GLON=-105),并保存文件2
变量。awk sed
给多点数据出来。。。。
要不你就对照着文件1修改文件2.
由于文件1中数据量很多,手动修改不太可能。想要得到如下效果:
例如,第一次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=45,GLON=-105(文件1中第二行),之后将文件2保存为文件3;
第二次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=10,GLON=90(文件1中第三行),之后将文件2保存为文件4;
第三次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=50,GLON=135(文件1中第四行),之后将文件2保存为文件5;
能不能具体点儿,我也尝试了awk通过字段赋值,但是得不到想要的效果,求大侠帮帮忙啊

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 21:34
lilydjwg
sharrybaby 写了: 由于文件1中数据量很多,手动修改不太可能。想要得到如下效果:
例如,第一次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=45,GLON=-105(文件1中第二行),之后将文件2保存为文件3;
第二次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=10,GLON=90(文件1中第三行),之后将文件2保存为文件4;
第三次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=50,GLON=135(文件1中第四行),之后将文件2保存为文件5;
能不能具体点儿,我也尝试了awk通过字段赋值,但是得不到想要的效果,求大侠帮帮忙啊
你不说具体点别人怎么帮你?
这次你终于说明白了点。不过「次」是什么?把上一次使用了哪行的数据保存到某个文件里吗?还是通过命令行参数/交互式输入?

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 21:48
sharrybaby
lilydjwg 写了:
sharrybaby 写了: 由于文件1中数据量很多,手动修改不太可能。想要得到如下效果:
例如,第一次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=45,GLON=-105(文件1中第二行),之后将文件2保存为文件3;
第二次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=10,GLON=90(文件1中第三行),之后将文件2保存为文件4;
第三次只修改文件2中GLAT=0.00和GLON=-165.00为GLAT=50,GLON=135(文件1中第四行),之后将文件2保存为文件5;
能不能具体点儿,我也尝试了awk通过字段赋值,但是得不到想要的效果,求大侠帮帮忙啊
你不说具体点别人怎么帮你?
这次你终于说明白了点。不过「次」是什么?把上一次使用了哪行的数据保存到某个文件里吗?还是通过命令行参数/交互式输入?
文件3为:
Mandatory parameters:
NALT = 100 : number of altitude points
ZUB = 1000.00 : upper bound of atmosphere (km)
YYDDD = 92274 : year & day (YYDDD format)
UTSEC = 61200.00 : universal time (sec)
GLAT = 45 : latitude (deg)
GLON = -105 : longitude (deg)
文件4为:
Mandatory parameters:
NALT = 100 : number of altitude points
ZUB = 1000.00 : upper bound of atmosphere (km)
YYDDD = 92274 : year & day (YYDDD format)
UTSEC = 61200.00 : universal time (sec)
GLAT = 10 : latitude (deg)
GLON = 90 : longitude (deg)
文件5为:
Mandatory parameters:
NALT = 100 : number of altitude points
ZUB = 1000.00 : upper bound of atmosphere (km)
YYDDD = 92274 : year & day (YYDDD format)
UTSEC = 61200.00 : universal time (sec)
GLAT = 50 : latitude (deg)
GLON = 135 : longitude (deg)

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 22:06
lilydjwg
大概是这样子:
[python]
#!/usr/bin/env python3
# vim:fileencoding=utf-8

import sys

def main(datafile, tplfile):
df = open(datafile)
df.readline()
tpllines = open(tplfile).readlines()
for l in df:
glat, glon = l.strip().split()
for count, i in enumerate(tpllines):
with open(tplfile + '.%d' % count, 'w') as f:
if i.startswith('GLAT = '):
ii = i.split(' ', 3)
ii[2] = glat
i = ' '.join(ii)
elif i.startswith('GLON = '):
ii = i.split(' ', 3)
ii[2] = glon
i = ' '.join(ii)
f.write(i)

if __name__ == '__main__':
if len(sys.argv) == 3:
main(*sys.argv[1:])
else:
sys.exit('error')
[/python]

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 22:30
sharrybaby
lilydjwg 写了:大概是这样子:
[python]
#!/usr/bin/env python3
# vim:fileencoding=utf-8

import sys

def main(datafile, tplfile):
df = open(datafile)
df.readline()
tpllines = open(tplfile).readlines()
for l in df:
glat, glon = l.strip().split()
for count, i in enumerate(tpllines):
with open(tplfile + '.%d' % count, 'w') as f:
if i.startswith('GLAT = '):
ii = i.split(' ', 3)
ii[2] = glat
i = ' '.join(ii)
elif i.startswith('GLON = '):
ii = i.split(' ', 3)
ii[2] = glon
i = ' '.join(ii)
f.write(i)

if __name__ == '__main__':
if len(sys.argv) == 3:
main(*sys.argv[1:])
else:
sys.exit('error')
[/python]
谢谢大侠啦!我现在用的是Ubuntu,运行您的代码,我需要装什么软件呢?

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 22:44
YeLee
嗯python。

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 22:45
枫叶饭团
sharrybaby 写了:
lilydjwg 写了:大概是这样子:
[python]
#!/usr/bin/env python3
# vim:fileencoding=utf-8

import sys

def main(datafile, tplfile):
df = open(datafile)
df.readline()
tpllines = open(tplfile).readlines()
for l in df:
glat, glon = l.strip().split()
for count, i in enumerate(tpllines):
with open(tplfile + '.%d' % count, 'w') as f:
if i.startswith('GLAT = '):
ii = i.split(' ', 3)
ii[2] = glat
i = ' '.join(ii)
elif i.startswith('GLON = '):
ii = i.split(' ', 3)
ii[2] = glon
i = ' '.join(ii)
f.write(i)

if __name__ == '__main__':
if len(sys.argv) == 3:
main(*sys.argv[1:])
else:
sys.exit('error')
[/python]
谢谢大侠啦!我现在用的是Ubuntu,运行您的代码,我需要装什么软件呢?
ubuntu不知道自带python3没有啊。。。不过这代码python2.7也能运行吧

Re: 如何由一个文本文件 拷贝到另一个文本文件

发表于 : 2012-06-01 22:59
lilydjwg
枫叶饭团 写了: 谢谢大侠啦!我现在用的是Ubuntu,运行您的代码,我需要装什么软件呢?
ubuntu不知道自带python3没有啊。。。不过这代码python2.7也能运行吧[/quote]
应该可以。