所以我很难找到解决问题的方法。我对Python很陌生,似乎找不到方法来完成这个任务。我要做的是遍历文件中的所有行,并对每一行匹配多个不同的规则,并将整行替换为用户内容。我尝试过多种方法,但没有一种能满足我的需要。
print ("File to perform check on:")
fileToSearch = input( "> " )
for line in fileinput.input(fileToSearch, inplace=True):
if 'foo' in line :
if '
最初张贴在这里:
我有一个相当大的文件~ 1MB大小,我希望能够读取第一个N行,将它们保存到一个列表(newlist)中供以后使用,然后删除它们。
我的原始代码是:
import os
n = 3 #the number of line to be read and deleted
with open("bigFile.txt") as f:
mylist = f.read().splitlines()
newlist = mylist[:n]
os.remove("bigFile.txt")
thefile = open('bigFil
我试图将两个文件之间的特定行连接在一起。这样,我想从file2的第2行添加一些东西到file1的第2行。然后从第6行,从file2到文件1的第6行,等等。有什么方法可以同时迭代这两个文件来完成这个任务吗?(知道每个输入文件的大小约为15 be可能会有所帮助)。
下面是一个简化的示例:
档案1:
Ignore
This is a
Ignore
Ignore
Ignore
This is also a
Ignore
Ignore
档案2:
Ignore
sentence
Ignore
Ignore
Ignore
sentence
Ignore
Ignore
输出文件:
Ignore
This is
我想替换一个大文件中的多行(不连续的)行,使用只包含一行的文件。我发现有效的方法是 for i in ${list[@]}; do
line=$(cat file_$i.txt);
sed -i "$i c $line" bigfile.txt;
done 这里,list包含了我想要替换的行。下面是一个示例: $ list=(1 3 4 7)
$ cat file_1.txt
this is the new line 1
$ cat file_3.txt
this is the new line 3
$ cat file_4.txt
this is the new
我有一个大的文本文件运行在数百万的lines.Between中--所有这些行--有如下所示的数据块:
#Start of activity on <hostname>
....
....
....
....
#End of activity on <hostname>
在每个数据块之间,有许多我不感兴趣的垃圾数据行,上面显示的数据块在大文本中随机显示,我想要做的是将每个数据块移动到单独的文件中,其中带有块中的主机名标记作为文件名。此外,在操作结束时,大文件应该只有垃圾行,并且应该没有任何块。
我现在的情况是:
awk '/Start\sof\sactivity\
我正在尝试从文件2的文件1中搜索名称,并合并匹配行上的一些数据
file1:
A 28 sep 1980
B 28 jan 1985
C 25 feb 1990
D 27 march 1995
和file2
A hyd
B alig
C slg
D raj
使用以下命令:
import sys
data1 = open(sys.argv[1]).read().rstrip('\n')
data2 = open(sys.argv[2]).read().rstrip('\n')
list1 = data1.spl
我有一个相当大的文件~ 1MB大小,我希望能够读取第一个N行,将它们保存到一个列表(newlist)中供以后使用,然后删除它们。
我可以这样做:
import os
n = 3 #the number of line to be read and deleted
with open("bigFile.txt") as f:
mylist = f.read().splitlines()
newlist = mylist[:n]
os.remove("bigFile.txt")
thefile = open('bigFile.txt'
我有一个非常大的(1000万行x12列)逗号分隔的文本文件。第一列包含UNIX时间(以秒到2 d.p.)
我希望提取与特定日期相对应的所有行(例如,2014-06-26),并将每个日期的行保存在其他较小的文件中。
在下面的文件中,我扫描该文件,读取每行中的第一个数字(时间),并在与当前行相关联的日期与前一行不同时吐出行号:
## create fake data ; there are many duplicate times, rows are not always in order
con <- "BigFile.txt"; rile.remove(con)
Time
我写了一些代码来从一个大的文本文件中提取某些行,并注意到缺少了一些奇怪的东西,所以我运行了以下代码来确保for循环确实命中了文件中的每一行:
xf=open("bigFile.txt", r)
xxf=open("newFile.txt",w)
for line in xf:
xxf.write(line)
由于某种原因,这最终导致没有复制所有行。谁能告诉我我不理解或做错了什么?它最终只会使文件大小只有正常大小的60-70%?任何见解都将不胜感激。
编辑:感谢您的输入skrrgwasme & Shreevardhan。为了澄清,我的最终目标不仅仅是复