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