1. 程式人生 > >Linux基礎之(六)檔案內容的關鍵詞匹配

Linux基礎之(六)檔案內容的關鍵詞匹配

檔案內容的關鍵詞匹配

對於一個內容很多的檔案,如果需要查詢某個關鍵詞及其所在的位置,可以使用grep命令進行搜尋。grep命令是一個非常強大的文字處理命令,主要功能是根據關鍵詞對文字進行篩選,查詢匹配的關鍵詞並輸出位置,grep命令提供了許多選項,常用選項如下所示。

-a:不要忽略二進位制資料
-b:出現時查詢到的行號外,還匹配顯示字元所在的整個文件的位置
-c:顯示匹配關鍵詞的內容和行數合計
-e:指定關鍵詞,使用該選項可指定多個關鍵詞
-E:指定正則表示式
-i:查詢是不區分大小寫
-n:顯示匹配行的行號
-w:顯示和關鍵詞完全匹配的內容
-o:只輸出文件中匹配到的內容

接下來以.bashrc檔案為例進行演示grep命令的使用方法

#使用grep命令搜尋bashrc檔案中含有if的行
[email protected]:~$ grep if .bashrc
#check the window size after each command and, if necessary,
#set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
#uncomment for a colored prompt, if the terminal has the capability; turned
if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then if [ "$color_prompt" = yes ]; then if [ -x /usr/bin/dircolors ]; then alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''
s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')
"'
if [ -f ~/.bash_aliases ]; then # this, if it's already enabled in /etc/bash.bashrc and /etc/profile if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then elif [ -f /etc/bash_completion ]; then
#使用-b選項,能夠輸出匹配關鍵詞的行號
[email protected]:~$ grep -b if .bashrc
544:# check the window size after each command and, if necessary,
957:# set variable identifying the chroot you work in (used in the prompt below)
1034:if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
1282:# uncomment for a colored prompt, if the terminal has the capability; turned
1515:if [ -n "$force_color_prompt" ]; then
1553:    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
1855:if [ "$color_prompt" = yes ]; then
2334:if [ -x /usr/bin/dircolors ]; then
2958:alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
3334:if [ -f ~/.bash_aliases ]; then
3460:# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
3558:if ! shopt -oq posix; then
3585:  if [ -f /usr/share/bash-completion/bash_completion ]; then
3695:  elif [ -f /etc/bash_completion ]; then
#使用-w選項進行全字匹配,即必須與制定關鍵詞完全匹配才可以搜尋到
#即使包含關鍵詞也不可以被匹配到
[email protected]:~$ grep -bw if .bashrc
544:# check the window size after each command and, if necessary,
1034:if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
1282:# uncomment for a colored prompt, if the terminal has the capability; turned
1515:if [ -n "$force_color_prompt" ]; then
1553:    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
1855:if [ "$color_prompt" = yes ]; then
2334:if [ -x /usr/bin/dircolors ]; then
3334:if [ -f ~/.bash_aliases ]; then
3460:# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
3558:if ! shopt -oq posix; then
3585:  if [ -f /usr/share/bash-completion/bash_completion ]; then
#使用-o選項能夠輸出匹配項的內容,而不是所在行的所有內容
[email protected]:~$ grep -bwo if .bashrc
592:if
1034:if
1316:if
1515:if
1557:if
1855:if
2334:if
3334:if
3468:if
3558:if
3587:if

相關推薦

Linux基礎檔案內容關鍵詞匹配

檔案內容的關鍵詞匹配 對於一個內容很多的檔案,如果需要查詢某個關鍵詞及其所在的位置,可以使用grep命令進行搜尋。grep命令是一個非常強大的文字處理命令,主要功能是根據關鍵詞對文字進行篩選,查詢匹配的關鍵詞並輸出位置,grep命令提供了許多選項,常用選項如下所

Linux基礎檔案的建立

在GUI的桌面環境中,建立檔案是很簡單的,例如Windows平臺中,大多數情況下只需要點選右鍵,就可以新建文字文件等各類檔案。在終端中建立檔案,大體有這麼三種方式,使用touch命令進行建立,使用文字編輯器進行建立,使用重定向符號進行建立,接下來就演示如何使用

Linux基礎檔案的搜尋

檔案搜尋和新建檔案類似的,在終端中提供了多種方式進行檔案的搜尋,常用的也是三種方式. 1、which 對於which指令來說,首先需要注意的是which命令只能搜尋PATH環境變數中的內容,比如搜尋一個命令程式所在的具體路徑,如果該命令存在於PATH環境變數中

08-Linux基礎入門-文件和目錄的屬性及權限文件類型、文件擴展名及文件權限基礎

ins tmp first 串口 .py 都是 公眾平臺 cond .com 一、Linux中的文件類型在Linux系統中,可以說一切(包括目錄、普通文件、設備文件等)皆為文件。文件類型包含有普通文件、目錄、字符設備文件、設備文件、符號鏈接文件、管道文件等等,當執行ls

linux 基礎知識

linux 基礎知識 日誌 日誌的作用:1.解決系統方面的問題2.解決網絡服務的問題3.記錄過往事件 /var/log/ //日誌文件保存位置cron //記錄周期性任務計劃dmesg //開機核心偵測信息lastlog //系統所有行好最近一次的登陸信息mail

linux基礎:基於Redhat7系統的網路設定

常用網路協議 ipv4 IPv4,是網際網路協議(Internet Protocol,IP)的第四版,也是第一個被廣泛使用,構成現今 網際網路技術的基礎的協議。1981年 Jon Postel 在RFC791中定義了IP,Ipv4可以執行在各種 各樣的底層網路上,比如端

Python3基礎迴圈

在上一講中我們學習了 while 語句進行迴圈控制,接下來我們將要學習另一種迴圈語句 for 。 一、基本使用 不同程式語言都有 for 語言,比如 C# 語言中的 foreach, Java 語言中的 for,在 Python 中的基本使用方法如下。 for item in

Linux基礎使用者及使用者組

使用者及使用者組 Linux作業系統是一個多使用者、多工的作業系統,可以同時允許多使用者登入並使用,為解決多使用者之間的許可權問題,Linux作業系統提供了完善的使用者及使用者組管理功能。 使用者及使用者組的概念 Linux作業系統允多使用者同時登陸,每個

Linux基礎使用者密碼資訊

使用者密碼資訊 Linux作業系統接收到使用者名稱和密碼後,會首先在“/etc/passwd”查詢輸入的使用者名稱,找到該使用者名稱後會讀取該使用者的UID和GID以及該使用者的主目錄、個性化設定等內容。之後根據查詢到的UID,在“/etc/shadow”檔案中

Linux系統》"皮毛系列" 檔案搜尋相關命令

為什麼要使用搜索命令呢? 第一:隨著時間的流逝,檔案系統中的檔案越來越多,我們不可能記住所有檔案的位置或內容(除非你是天才中的天才,呵呵呵)。 第二:不同版本的Linux,系統檔案或者是應用程式所需要的檔案的儲存位置可能會有所差別。 因此Linux系統提供了一些檔案搜尋命令,供

linux操作系統基礎

linux操作系統 linux服務 images without 重新 修改 文件內容 請求 用戶訪問 linux服務篇 1.samba服務的搭建 samba的功能: samba是一個網絡服務器,用於Linux和Windows之間共享文件。2. samba服務的啟動、停止、

10-Linux基礎入門-文件和目錄的屬性及權限用戶與組和時間戳基礎

log 信息 p s center 新浪 shell 使用 自己的 用戶配置 一、概述Linux是一個多用戶、多任務的操作系統,對於Linux系統來說,由於角色不同,權限和所完成的任務也不同。用戶的角色是通過UID和GID識別的,用戶的UID就相當於我們的身份證一樣,用戶名

linux菜鳥基礎學習 網絡

ice ping 9.1 del system fff 設定 ane sco linux下的網絡配置 1.什麽是IP ADDRESS internet protocol ADDRESS ##網絡協議地址 ipv4 internet protocol ver

java程式設計師菜鳥進階十七linux基礎入門linux檔案/目錄的許可權和歸屬管理

在linux中的每一個檔案或目錄都包含有訪問許可權,這些訪問許可權決定了誰能訪問和如何訪問這些檔案和目錄。相應的每一個檔案和目錄都有所屬的屬主和屬組,合理的設定檔案和目錄的屬組和屬主在檔案/目錄管理中佔據著很重要的地位,所以,今天我就和大家一起來看一下有關檔案/目錄的許可權和歸屬的相關設定

java程式設計師菜鳥進階linux基礎入門linux下VIM文字編輯器使用

  linux下編寫配置檔案最好的編輯工具莫過於vim了。Vim的功能實在太多太全,Vim的很多功能也許我們很少用得到,真正為大家常用的功能可能只佔到所有功能的冰山一角。Vim終歸只是一個編寫程式碼或編輯文件的工具,所以只要掌握一些足夠我們使用的功能即可。 做個廣告

java程式設計師菜鳥進階十四linux基礎入門linux檔案及目錄命令管理

大家都知道,熟悉命令操作的開發人員,Linux作業系統命令操作效率要高於圖形介面的操作,所以瞭解和學習linux基本命令操作是學習linux作業系統的首要任務,本文主要介紹以下四個知識點:   1.      She

linux菜鳥基礎學習 網路

linux下的網路配置 1.什麼是IP ADDRESS internet protocol ADDRESS ##網路協議地址 ipv4 internet protocol version 4 1.2x32 ip是由32個0和1組成 11111110.1111111

linux基礎檔案歸檔與不同系統間的檔案傳輸

檔案歸檔 檔案歸檔,就是把多個檔案變成一個歸檔檔案,即將多個檔案打包起來 tar命令 Unix和類Unix系統上的壓縮打包工具,可以將多個檔案合併為一個檔案,打包後的檔名亦為“tar”。tar檔案格式已經成為POSIX標準,最初是POSIX.1-1988,當前是POSIX.1-2

python學習筆記基礎操作生成器和迭代器

生成器總結 語法上和函式類似:生成器函式幾乎和常規函式一樣,不同的又兩點, 第一點是返回使用yield關鍵字,第二點是在連續邏輯內可以多次返回 這是yield的特點決定的,yield會記住函式執行的位

Linux kernel的中斷子系統:ARM中斷處理過程

總結:二中斷處理經過兩種模式:IRQ模式和SVC模式,這兩種模式都有自己的stack,同時涉及到異常向量表中的中斷向量。 三ARM處理器在感知到中斷之後,切換CPSR暫存器模式到IRQ;儲存CPSR和PC;mask irq;PC指向irq vector。 四進入中斷的IRQ模式相關處理,然後根據當前處於使用