linux 和python实现查找某个目录下文件内容,返回符合条件文件名及行数

# 查询 某些文件内是否包含某字符, 放回行数+文件名 + 该行内容
# 查询当前目录及子目录文件中以log结尾的文件中, 存在呆子字符的行
grep -rn '呆子' ./ --include=*.log

返回结果: 文件名+行号


测试结果.png

在window 系统可用python实现

"""
   读取指定目录下的csv文件,
    并满足第一行为a,第二行为b的文件,
    返回文件名和行号
"""
import pandas as pd
import os
base_dir = "D://大爷//test_ahj//111//"

file_list = os.listdir(base_dir)  
file_list = [i for i in file_list if i.endswith('.csv')]
#print(file_list)

for file_path in file_list:
    file = base_dir + file_path
    # if file == 'D://壹心//test_ahj//a.csv':
        #print(file)
    with open(file, newline='') as csvfile:
        for cnt, line in enumerate(csvfile):
            #print(file_path, cnt+1, line.strip().split(','))
            desc = line.strip().split(',')
            if desc[0] == 'a' and desc[1] == 'b'  :
                print(file_path , cnt+1)
                y=cnt+1
                x=(file_path+str(y)+'\n')
                file_handle=open('D://大爷//test_ahj//111//1.txt',mode='a')
                file_handle.write(x)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容