Linux中grep命令

Linux 中的 grep 用法詳解

grep 是 Linux 中強大的文本搜索工具,用于在文件或輸入流中查找匹配指定模式的行。其基本語法為:

grep [選項] "模式" [文件]

核心功能
  1. 基礎搜索
    在文件中查找包含特定字符串的行:

    grep "error" log.txt   # 搜索 log.txt 中所有含 "error" 的行
    

  2. 正則表達式搜索
    支持正則表達式匹配(需用 -Eegrep):

    grep -E "404|500" access.log  # 查找 HTTP 狀態碼為 404 或 500 的行
    


常用選項

選項作用示例
-i忽略大小寫grep -i "warning" system.log
-v反向匹配(排除模式)grep -v "success" result.csv
-r遞歸目錄搜索grep -r "function" /src/code/
-n顯示行號grep -n "TODO" main.py
-c統計匹配行數grep -c "login" auth.log
-w全詞匹配grep -w "port" config.ini
-A顯示匹配行后 N 行grep -A 2 "crash" debug.log
-B顯示匹配行前 N 行grep -B 1 "timeout" trace.out

實用技巧

  1. 管道組合
    與其他命令配合使用:

    ps aux | grep "nginx"      # 查找 Nginx 進程
    cat data.json | grep "id"  # 從 JSON 中提取含 "id" 的行
    

  2. 多文件搜索
    支持同時搜索多個文件:

    grep "deprecated" *.js   # 在所有 JS 文件中查找
    

  3. 正則進階
    使用特殊符號:

    grep "^2023" dates.log    # 查找以 2023 開頭的行
    grep "end$" script.sh     # 查找以 "end" 結尾的行
    

注意

  • 特殊字符(如 $, *, [)需用單引號包裹:grep '\$PATH' .bashrc
  • 復雜正則建議用 egrepgrep -E

典型場景

# 在日志中查找錯誤并顯示前后 3 行
grep -C 3 "segmentation fault" /var/log/syslog# 統計代碼中特定函數調用次數
grep -r -c "calculate(" /project/src/# 過濾注釋行(排除以 # 開頭的行)
grep -v "^#" config.conf

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

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

相關文章

【遙感圖像入門】遙感中的“景”是什么意思?

在遙感成像中,“3景城市影像”和“5景城市影像”中的“景”是遙感數據的基本單位,通常指一次成像過程中獲取的獨立遙感影像塊。這一概念的具體含義需結合技術背景和應用場景理解: 一、“景”的技術定義 單次成像的獨立覆蓋區域 遙感平臺(如衛星、飛機)在特定時間和位置對…

Pytorch-07 如何快速把已經有的視覺模型權重扒拉過來為己所用

下載,保存,加載,使用模型權重 在這一節里面我們會過一遍對模型權重的常用操作,比如: 如何下載常用模型的預訓練權重如何下載常用模型的無訓練權重(只下載網絡結構)如何加載模型權重如何保存權…

C語言零基礎第9講:指針基礎

目錄 1.內存和地址 2.指針變量和地址 2.1 取地址操作符(&) 2.2 指針變量 2.3 解引用操作符(*) 2.4 指針變量的大小 3.指針變量類型的意義 3.1 指針的解引用 3.2 指針 - 整數 3.3 void*指針 4.指針運算 4.1 指針…

013 HTTP篇

3.1 HTTP常見面試題 1、HTTP基本概念: 超文本傳輸協議:在計算機世界里專門在「兩點」之間「傳輸」文字、圖片、音頻、視頻等「超文本」數據的「約定和規范」HTTP常見的狀態碼 [[Pasted image 20250705140705.png]]HTTP常見字段 Host 字段:客戶…

每日面試題20:spring和spring boot的區別

我曾經寫過一道面試題,題目是為什么springboot項目可以直接打包給別人運行?其實這涉及到的就是springboot的特點。今天來簡單了解一下springboot和spring的區別, Spring 與 Spring Boot:從“全能框架”到“開箱即用”的進化之路 …

ClickHouse數據遷移

ClickHouse實例是阿里云上的云實例,想同步數據到本地,本地部署有ClickHouse實例,下面為單庫單表 源實例:阿里云cc-gs5xxxxxxx.public.clickhouse.ads.aliyuncs.com:8123 目標實例:本地172.16.22.10:8123 1、目標實例建…

sqli-labs-master/Less-41~Less-50

Less-41這一關還是用堆疊注入,這關數字型不需要閉合了。用堆疊的話,我們就不爆信息了。我們直接用堆疊,往進去寫一條數據?id-1 union select 1,2,3;insert into users (id,username,password) values(666,zk,180)--看一下插進去了沒?id-1 u…

Tiger任務管理系統-10

十是個很好美好的數字,十全十美,確實沒讓人失望,收獲還是很大的。 溫習了前端知識,鞏固了jQuery,thymeleaf等被忽視的框架,意外將之前的所學所用的知識都連起來了,感覺有點像打通了任督二脈一樣…

ora-01658 無法為表空間 users中的段創建initial區

ora-01658 無法為表空間 users中的段創建initial區 參考1 參考2 參考3 參考4 給用戶新增表空間 alter tablespace system add datafile D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM03.DBF size 5G autoextend on next 10M;設置表空間文件自動擴展 ALTER DATABASE DATAFILE /…

lodash的替代品es-toolkit詳解

一、es-toolkit簡介 es-toolkit 是一款先進的高性能 JavaScript 實用程序庫,體積小巧,并支持強類型注釋,典型特征包括: 提供各種日常實用函數并采用現代實現,例如: debounce、delay、chunk、sum 和 pick 等 設計充分考慮了性能,在現代 JavaScript 環境中實現了 2-3 倍…

【原創】基于gemini-2.5-flash-preview-05-20多模態模型實現短視頻的自動化二創

畫面和解說保持一致,這個模型就是NB[16:57:37] [*] 正在從視頻中提取幀和時長 (頻率: 1.0 幀/秒)... [16:57:55] [] 提取完成。視頻時長: 83.40秒, 提取了 84 幀。 [16:57:55] [*] 使用AI供應商: gemini [16:57:55] [*] 正在進行視覺分析... [16:57:55] L-> 正…

數倉架構 數據表建模

數倉架構 主要用來描述 數據加工的實時鏈路 和 離線鏈路之間的關系,即 流批 關系; lamda 架構, 是兩條路, 實時計算式的, 維護數據的實時性。然后每天經過批計算后, 覆蓋實時的計算結果。 保證數據準確性。 kappa架構, 即流批一體了 數據建模 星型模型是數據倉庫中最…

vscode調試python腳本時無法進入函數內部的解決方法

只需在launch.json配置文件中添加“justMyCode”:false.

Python day37

浙大疏錦行 python day37. 內容: 保存模型只需要保存模型的參數即可,使用的時候直接構建模型再導入參數即可 # 保存模型參數 torch.save(model.state_dict(), "model_weights.pth")# 加載參數(需先定義模型結構) mod…

ORACLE進階操作

1 事務 事務的任務便是使數據庫從一種狀態變換成為另一種狀態,這不同于文件系統,它是數據庫所特用的。 所有的數據庫中,事務只針對DML(增刪改),不針對select select只能查看其他事務提交或回滾的數據,不能查…

Modbus 的一些理解

疑問:(使用的是Modbustcp)我在 Modbus slave 上面設置了slave地址為1,位置為40001的位置的值為1,40001這個位置上面的值是怎么存儲的,存儲在哪里的?他們是怎么進行交互的?在Modbus協…

【運動控制框架】WPF運動控制框架源碼,可用于激光切割機,雕刻機,分板機,點膠機,插件機等設備,開箱即用

WPF運動控制框架源碼,可用于激光切割機,雕刻機,分板機,點膠機,插件機等設備,考慮到各運動控制硬件不同,視覺應用功能(應用視覺軟件)也不同,所以只開發各路徑編…

RabbitMQ-日常運維命令

作者介紹:簡歷上沒有一個精通的運維工程師。請點擊上方的藍色《運維小路》關注我,下面的思維導圖也是預計更新的內容和當前進度(不定時更新)。中間件,我給它的定義就是為了實現某系業務功能依賴的軟件,包括如下部分:Web服務器代理…

【Linux基礎知識系列】第九十篇 - 使用awk進行文本處理

在Linux系統中,文本處理是一個常見的任務,尤其是在處理日志文件、配置文件和數據文件時。awk是一個功能強大的文本處理工具,廣泛用于數據提取、分析和格式化。它不僅可以處理簡單的文本文件,還可以處理復雜的結構化數據&#xff0…

第二十七天(數據結構:圖)

圖:是一種非線性結構形式化的描述: G{V,R}V:圖中各個頂點元素(如果這個圖代表的是地圖,這個頂點就是各個點的地址)R:關系集合,圖中頂點與頂點之間的關系(如果是地圖,這個關系集合可能就代表的是各個地點之間的距離)在頂點與頂點…