統計清理資料集檔案用到的命令和python指令碼

2021-10-02 03:17:18 字數 2169 閱讀 5868

統計、處理資料集檔案時,有一些命令和指令碼可能會用到,記錄在這裡以免之後在這些小問題上浪費時間。

一、命令

1.查詢檔案夾下指定名字的檔案

例如:   find .

-name "*det*"

其中.表示當前目錄,*det*表示查詢檔案名中含det的檔案。

2.刪除當前資料夾下的所有檔案

rm

*## 在刪除之前可以使用 find * 檢視想要刪除的內容與你想的是否相同

3.查詢檔案夾下指定名字的檔案並刪除
find .

-name "*det*"

| xargs rm

-rf

4.查詢檔案夾下指定名字的檔案並複製到指定路徑
find .

-name "*det*"

| xargs cp

-t 指定path

5.記錄執行某命令之後的輸出結果到txt檔案中
例如:   ls

|tee ls_rec.txt

二、python指令碼

1.將某資料夾下的檔名儲存到txt檔案中

例如,pascal_voc格式資料集中imagesets/main中的train.txt、trainval.txt等檔案就可以通過此方法生成

import os

file_path =

"/home/……"

path_list = os.listdir(file_path)

path_name =

for i in path_list:

".")[0

])# 去掉字尾名

for file_name in path_name:

with

open

("/home/……/train.txt"

,"a"

)as f:

f.write(file_name +

"\n"

)print

(file_name)

f.close(

)

2.將與xml(可為其他檔案型別)檔名相同的copy到指定資料夾中
import os

import shutil

file_path1 =

"/home/……"

path_list1 = os.listdir(file_path1)

file_path2 =

"/home/……"

path_list2 = os.listdir(file_path2)

path_name1 =

path_name2 =

for x in path_list1:

".")[0

])# 去掉字尾名

for i in path_list2:

".")[0

])# 去掉字尾名

'指定path'

)else

continue

3.統計當前資料夾下檔案總數
import os

dir =

"/home……"

print

("資料夾內檔案個數:"

,len

(os.listdir(dir)

))

4.統計txt檔案中共有多少行 (pascal_voc格式中每行代表乙個名稱)
file_name =

"/home……"

myfile =

open

(file_name)

lines =

len(myfile.readlines())

print

("there are %d lines in ***.txt",%

(lines)

)

統計日誌時用到的linux命令

樓主這次統計的檔案有log檔案 out檔案 txt檔案,其中log檔案跟txt檔案都是可以用文字編輯器開啟的,所以統計就是control f就好了。但是out檔案卻無法用文字編輯器跟word開啟,word打不開時因為out檔案太大了,但是終端可以開啟,但是因為資料量很多,而且control f也沒辦...

控制檔案的備份和日誌檔案的清理

備份控制檔案的shell usr bin ksh oracle profile ctlfile path home ctlfile cur date date m d cd ctlfile path find ctlfile path name ctlfile bin.a mtime 2 exec ...

Ubuntu 統計檔案個數的命令

1 統計當前資料夾內檔案數量且包含子目錄中的檔案數量,命令如下 ls lr grep wc l2 統計當前資料夾內檔案數量且不包含子目錄檔案數量,命令如下 ls l grep wc l3 統計當前資料夾下的目錄個數且包含子目錄 ls lr grep d wc l4 統計當前資料夾下的目錄個數 ls ...