【bash】命令查看當前目錄下文件個數

要用 ls 查看當前目錄下的文件個數,可以結合 wc -l 來統計行數:

ls -1 | wc -l

說明:

  • ls -1:以一行一個文件的方式列出。
  • wc -l:統計行數,也就是文件/目錄的數量。

?? 需要注意:

  1. 這個方法會把文件和子目錄都算進去。
  2. 如果要統計僅文件數(排除目錄),可以用:
ls -l | grep "^-" | wc -l
  1. 如果要統計僅目錄數
ls -l | grep "^d" | wc -l

例如

ls -1 | wc -l
35

問題:比實際的多了3個數目

您好!您的懷疑非常敏銳,直擊問題核心。

是的,問題就出在 ls -al | wc -l 這個指令上。它并不是一個精確的文件計數方法。

為什么 ls -al | wc -l 的結果不準確?

當您運行 ls -al 時,它列出的內容除了您目錄下的文件外,還額外包含了至少三行:

  1. total: 輸出的第一行,顯示了目錄下所有文件的磁盤空間總占用量。
  2. . (當前目錄): 代表當前目錄自身的條目。
  3. .. (上級目錄): 代表父級目錄的條目。

因此,ls -al | wc -l 的結果總是會比實際的文件(和子目錄)數量多至少3個

在您的情況下,293 - 3 = 290,這正好與您的數據庫記錄數和腳本診斷出的文件數完全吻合。

哪個是正確的?

您腳本中的診斷工具 (find_missing_records) 得到的結果是準確的。

因為它采用的方法是:

  1. os.listdir(MEDIA_MP4_DIR): 獲取目錄下所有條目的列表(不包含 ...)。
  2. if f.endswith('.mp4'): 精確地篩選出只以 .mp4 結尾的文件。

這個方法確保了它只計算您真正關心的MP4文件,不多也不少。

如何在命令行中精確計數?

如果您想在命令行中得到和腳本一樣的精確文件數,可以使用以下指令:

# 只計算當前目錄下的文件和文件夾數量(不含.和..)
ls -1 | wc -l# (更精確) 只計算當前目錄下的文件數量(不包括子目錄)
find . -maxdepth 1 -type f | wc -l# (最相關) 只計算當前目錄下的MP4文件數量
find . -maxdepth 1 -type f -name "*.mp4" | wc -l

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96064.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96064.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96064.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

「日拱一碼」081 機器學習——梯度增強特征選擇GBFS

目錄 什么是梯度增強特征選擇(GBFS) 為什么 GBM 適合做特征選擇 GBFS 的一般步驟 代碼示例 什么是梯度增強特征選擇(GBFS) GBFS 并非一個像 Lasso 或隨機森林那樣有嚴格標準定義的獨立算法,而是一種基于梯度提升機…

解構匯編, 萬物起源

匯編的誕生匯編全景圖核心主干: CPU架構主要分支: 語法和工具共同的地貌: 核心概念延伸: 跨平臺 & 跨架構跨平臺跨架構總結以 GAS vs. NASM 為例NASM 不支持跨架構 ≠ 無法在ARM架構上的系統安裝匯編的誕生 機器語言的困境 早期的程序員直接使用機器語言進行編程機器語言由…

廣州旅游網站系統 - 純靜態旅游展示平臺

🌟 廣州旅游網站系統 - 純靜態旅游展示平臺觀世界才有世界觀 - 一個集景區展示、旅游攻略、文化傳播于一體的精美旅游網站📋 項目概述 這是一個專注于廣州旅游文化的純靜態網站系統,采用現代化的前端技術棧,為游客提供全方位的廣州…

Qt UDP通信學習

Qt UDP通信學習 一、項目概述 本項目基于Qt框架實現了UDP通信功能,支持單播與廣播消息收發,展示了UDP套接字的基本用法,適合初學者學習Qt網絡模塊的實際應用。 二、項目結構 55.pro:Qt工程文件,配置模塊與源碼文件main…

古德哈特定律(Goodhart‘s Law)

古德哈特定律(Goodhart’s Law)表述為“當一個指標變成了目標,它將不再是個好指標”。 該定律由英國經濟學家查爾斯古德哈特(Charles Goodhart)在1975年提出,最初用于批判撒切爾夫人政府的貨幣主義政策&…

在 ASP.NET Core 8 Web API 中實現基于角色的授權 安全且可擴展 API 的最佳實踐

掌握基于角色的授權:使用專家策略保護您的 ASP.NET Core 8 Web API。在 ASP.NET Core 8 Web API 中實現基于角色的授權:安全且可擴展 API 的最佳實踐介紹授權是任何 Web 應用程序的關鍵組件。在開發 API 時,使用基于角色的授權保護端點可確保…

AutoHotkey識別圖片

一、下載ImagePut插件 下載地址:GitHub - iseahound/ImagePut: A core library for images in AutoHotkey. Supports AutoHotkey v1 and v2. 二、將插件和要搜索的圖片導入項目 #Include ./plugin/ImagePut.ahk ; 截取當前屏幕 pic : ImagePutBuffer(0) point : p…

CamX-Camera常用編譯命令和adb指南

g_camxsettings vendor/qcom/proprietary/camx/src/settings/g_camxsettings.xml 控制相機debug的信息都在該文件里面 0、相關代碼 framwork層 frameworks/av/camera/ frameworks/av/services/camera frameworks/av/services/camera frameworks/hardware/interfaces/camerase…

LabVIEW 實現顏色平滑漸變控制

LabVIEW 中實現 LED 顏色從藍到紅的平滑漸變顯示在 LabVIEW 開發中,若需讓 LED(或類 LED 顯示控件)實現從藍色到紅色的平滑色彩漸變(模擬溫度等參數從低到高的視覺反饋),可通過自定義顏色查找表 數值縮放映…

陰陽學:從入門到精通

第一篇:入門篇——陰陽基礎理論1.1 陰陽的起源與哲學意義陰陽概念的歷史淵源《易經》中的陰陽思想陰陽與宇宙、自然、人生的關系陰陽對思想、行為、社會的影響1.2 陰陽的基本屬性與符號陰陽的特征、象征與對立統一陰陽在自然界的表現(晝夜、冷熱、動靜等…

Java工業通信實戰(三):Modbus RTU串口通信實現

想象一下,你要和一臺工業設備"對話",比如詢問溫度傳感器"現在多少度?“或者告訴電機"轉快一點”。 Modbus RTU就是這種"對話"的標準語言,就像人與人之間說普通話一樣。 它采用主從結構,…

CentOS安裝或升級protoc

卸載舊版本 sudo yum remove protobuf protobuf-c protobuf-compiler -y sudo rm -f /usr/bin/protoc sudo rm -rf /usr/include/google/protobuf 下載 wget https://github.com/protocolbuffers/protobuf/releases/download/v3.15.0/protoc-3.15.0-linux-x86_64.zip unz…

人工智能在醫學圖像中的應用:從機器學習到深度學習

目的:人工智能(AI)模型在生物醫學研究和醫療服務中扮演著越來越重要的角色。本綜述聚焦于在現實世界背景下,開發AI應用作為臨床決策支持系統時需要澄清的挑戰性問題。方法:進行了一項敘述性綜述,包含對1989…

基于Echarts+HTML5可視化數據大屏展示-智慧小區大數據分析

效果展示&#xff1a;代碼結構&#xff1a;主要代碼實現 index.html布局 <!doctype html> <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><title>智慧農業大數據展示</title><link rel"s…

【LeetCode熱題100道筆記】驗證二叉搜索樹

題目描述 給你一個二叉樹的根節點 root &#xff0c;判斷其是否是一個有效的二叉搜索樹。 有效 二叉搜索樹定義如下&#xff1a; 節點的左子樹只包含 嚴格小于 當前節點的數。 節點的右子樹只包含 嚴格大于 當前節點的數。 所有左子樹和右子樹自身必須也是二叉搜索樹。 示例 1&…

Apache Tomcat 教程:從入門到精通(含目錄結構與版本詳解)

??????1. 背景?? Apache Tomcat 是一個開源的 ??Java Servlet 容器??&#xff0c;由 ??Apache 軟件基金會&#xff08;ASF&#xff09;?? 開發和維護&#xff0c;最初由 ??Sun Microsystems?? 的軟件架構師 ??James Duncan Davidson?? 設計&#xff0…

設計模式從入門到精通之(六)策略模式

策略模式&#xff1a;讓算法靈活切換的秘密武器在日常開發中&#xff0c;算法的選擇常常是程序設計的核心&#xff0c;比如支付方式的選擇、排序邏輯的切換、促銷活動的動態調整等。當需求變化時&#xff0c;我們需要在多個算法之間切換&#xff0c;但又不希望修改已有代碼。如…

安裝MATLAB205軟件記錄

安裝MATLAB2025 一臺電腦可以安裝多個版本的MATLAB; 下載資源 微信公眾平臺-MATLAB R2025a v25.1下載及安裝教程 安裝步驟 解壓, 壓縮文件大小為13.8GB 裝載 選中setup.exe右鍵單擊以管理員身份運行 我有文件安裝密鑰 接受許可條款 復制粘貼密鑰 63733-59078-50866-02827-…

MySQL 基礎架構(一):SQL語句的執行之旅

MySQL系列文章 MySQL 基礎架構&#xff08;一&#xff09;&#xff1a;SQL語句的執行之旅 你是否好奇過&#xff0c;一條看似簡單的SQL查詢語句&#xff0c;在MySQL內部究竟經歷了怎樣的"奇幻之旅"&#xff1f;從連接建立到結果返回&#xff0c;MySQL是如何層層處理、…

Spring Boot 使用 Druid 連接池極致優化

在 Spring Boot 中使用 Druid 連接池進行極致優化&#xff0c;需要從核心參數調優、監控體系搭建、安全增強、連接管理及性能適配等多個維度綜合考慮。以下是分階段的詳細優化策略&#xff1a;一、基礎環境準備確保使用最新穩定版 Druid&#xff08;截至 2024 年推薦 1.2.38&am…