1. 程式人生 > >【Linux】文字處理、關鍵字擷取

【Linux】文字處理、關鍵字擷取

cut

cut命令可以將一行文字按照指定字元切分成多段並取出某一段,或者直接指定要取出的字元位置。
格式:

cut -d  '指定字元'  -f數字   //切分並取出指定列
cut -c 區間    //取出指定字元位置的字串,區間用-表示,如2-4,8-,-9等

例項:
1 從登入資訊中取出登入名那一列。

[root@localhost nta]# last | cut -d ' ' -f1
root
root
root
root
。。。。。。

2 取出$PATH中的第8個字元後面的內容。

[[email protected] nta]# echo $PATH | cut -c 8
- b64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

grep

grep命令用於從文件中找出我們需要的那一行來。
格式:

grep -acinv ‘搜尋字串’ filename

引數:

-a :將 binary 檔案以 text 檔案的方式搜尋資料
-c :計算找到 '搜尋字串' 的次數
-i :忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字串' 內容的那一行!

例項:
1 找出last中,有root的那些行。

[root@localhost nta]# last | grep root
root pts/0 172.16.150.189 Thu Aug 31 14:01 still logged in root pts/2 172.16.150.199 Thu Aug 31 10:07 still logged in root pts/5 172.16.150.184 Thu Aug 31 09:32 - 09:40 (00:08) root pts/4 172.16.150.184 Thu Aug 31 09:32 - 09:35 (00:02) 。。。。。。

2 找出last中沒有root的那些行,並輸出行號。

wtmp begins Tue Jun  6 12:26:58 2017
[root@localhost nta]# last | grep -vn  root
32:(unknown :0           :0               Wed Aug 30 15:31   still logged in   
33:(unknown :0           :0               Wed Aug 30 15:26 - 15:31  (00:04)    
55:(unknown :0           :0               Wed Aug 30 12:42 - 12:43  (00:00)    
56:reboot   system boot  3.10.0-327.el7.x Wed Aug 30 12:42 - 14:13 (1+01:31)     
。。。。。。 

sort

sort命令是將文字的每一行按照指定規則排序。

格式:

sort [-fbMnrtuk] filename

引數:

-f :忽略大小寫的差異,例如 A 與 a 視為編碼相同;
-b :忽略最前面的空格符部分;
-M :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n :使用『純數字』進行排序(預設是以文字型態來排序的);
-r :反向排序;
-u :就是 uniq ,相同的資料中,僅出現一行代表;
-t :分隔符,預設是 tab 鍵;
-k :以那個區間 (field) 來進行排序的意思,

例項:
1 將使用者賬號資訊(/etc/passwd)進行排序(可以看到預設是以第一個字母按照字母表順序排序的)。

[root@localhost nta]# cat /etc/passwd | sort
abrt:x:173:173::/etc/abrt:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
chrony:x:987:984::/var/lib/chrony:/sbin/nologin
colord:x:992:990:User for colord:/var/lib/colord:/sbin/nologin
。。。。

2 將使用者賬號資訊按照使用者標識(第三列,數字)進行排序。

[root@localhost nta]# cat /etc/passwd | sort -t ':' -k 3 -n
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
。。。。。。

uniq
uniq顯示輸入的內容,但每個重複的行只顯示一次。

格式:

uniq [-ic]

引數:

-i :忽略大小寫字元的不同;
-c :進行計數

例項:

[root@localhost nta]# last | grep root | cut -d ' ' -f1 | uniq
    root

[root@localhost nta]# last | grep root | cut -d ' ' -f1 | uniq -c
    475 root

wc
wc命令用於檢索文件的字數、行數和字元數。

格式:

wc [-lwm]

引數:

-l :僅列出行;
-w :僅列出多少字(英文單詞);
-m :多少字元;

例項:
檢查$PATH中有多少字元。

[root@localhost nta]# echo $PATH | wc -m
82

相關推薦

Linux文字處理關鍵字擷取

cut cut命令可以將一行文字按照指定字元切分成多段並取出某一段,或者直接指定要取出的字元位置。 格式: cut -d '指定字元' -f數字 //切分並取出指定列 cut -c 區間 //取出指定字元位置的字串,區間用-表示,如2-4,8

Linux磁碟分割槽掛載和查詢小結

一、Linux磁碟分割槽、掛載 1.基本介紹     ①:Linux來說無論有幾個分割槽,分給哪一個目錄使用,它歸根結底就只有一個根目錄,一個獨立且唯一的檔案結構,Linux中每個分割槽都是用來組成整個檔案系統的一部分。     ②:Linux採用

Linux時間日期搜尋查詢壓縮解壓類常用指令小結

一、時間日期類 1.date指令(顯示當前日期)    用法:date:(完整的顯示當前時間)               date +%Y (顯示當前年份)     &nb

Linux使用readwritelseek函式實現檔案讀寫操作

本文章主要講述Linux環境下檔案的讀寫操作,使用到的函式有open、read、write、lseek。 open:用於開啟或者建立檔案。 read:從檔案中讀指定位元組的資料到記憶體中。 write:講記憶體中資料寫入到檔案中。 lseek:可以改變當前檔案偏移量。 #

Linux程序組作業回話守護程序的基本概念!!

程序組 每一個程序在建立的時候就有自己的程序ID,同時也有自己的ID(PGID)。一個程序組,可以含有一個或者多個程序,程序組也有自己的ID,通常是程序組裡面第一個程序的ID。 程序組的特點: 每一個程序組有一個組長程序,程序組長的ID等於程序組ID 程

Linux硬連結軟連結及inode詳解

inode   檔案儲存在硬碟上,硬碟的最小儲存單位叫做“扇區”(Sector)。每個扇區儲存512位元組(相當於0.5KB)。   作業系統讀取硬碟的時候,不會一個個扇區地讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取一個”塊”(block)

Linux程序組作業會話以及終端的理解

一、程序組 (1)概念 我們知道每一個程序除了自己的程序 ID外,還擁有一個程序組ID。 多個程序組成的集合叫做程序組。他們彼此之間不是孤立的,存在父子、兄弟等關係,每個程序都有父程序(除了0號程序),而所有的程序的父程序都是以init程序為根,形成一

linux程序建立等待終止

建立程序—fork函式 函式原型:pid_t fork(void); 返回值:子程序返回0;父程序返回子程序pid,失敗返回-1(失敗的原因:1記憶體不夠;2系統程序數量太多); 注意:fork

linux--- 高階命令列文字處理工具 sort

二、sort命令  sort 命令對 File 引數指定的檔案中的行排序,並將結果寫到標準輸出。如果 File 引數指定多個檔案,那麼 sort 命令將這些檔案連線起來,並當作一個檔案進行排序。 選項與引數: -f  :忽略大小寫的差異,例如 A 與 a 視為編碼相同

linux--- 高階命令列文字處理工具 cut

第一: cut命令 cut : 可以從一個文字檔案或者文字流中提取文字列 echo $PATH 選項 -b:僅顯示行中指定直接範圍的內容; -c:僅顯示行中指定範圍的字元; -d:指定欄位的分隔符,預設的欄位分隔符為“TAB”; -f:顯示指定欄位的內容; --comple

Linux學習五文字處理

環境  虛擬機器:VMware 10   Linux版本:CentOS-6.5-x86_64   客戶端:Xshell4  FTP:Xftp4 一、cut:顯示切割的行資料f:選擇顯示的列s:不顯示沒有分隔符的行d:自定義分隔符 舉例:cut -d' ' -f1-3 test.txt 按照空格切分test

LinuxLinux下統計當前文件夾下的文件個數目錄個數

article logs 過濾 ref bash 輸出 子文件夾 http 輸出信息 統計當前文件夾下文件的個數,包括子文件夾裏的 ls -lR|grep "^-"|wc -l 統計文件夾下目錄的個數,包括子文件夾裏的 ls -lR|grep "^d"

Linuxlinux查看日誌文件內容命令tailcattacheadecho

其中 一個空格 .sh 引號 鍵盤 tex 標準輸出 linux www linux查看日誌文件內容命令tail、cat、tac、head、echo tail -f test.log你會看到屏幕不斷有內容被打印出來. 這時候中斷第一個進程Ctrl-C, ----------

Linuxlinux 壓縮文件(txt)查看壓縮文件內容解壓縮文件

str tool div png gun medium spa clas info 通過Xshell 壓縮文件、解壓縮文件 gzip  tools.txt        壓縮【tools.txt】文件 zcat  tools.txt.gz       查看壓縮文件

linuxlinux 環境下 安裝禪道(轉載) -- 跟web服務器無關,無視apachenginx!!!

sdn php 修改 鏈接 net 壓縮 操作 tps 數據庫 參考文章 鏈接 :https://blog.csdn.net/xinxin19881112/article/details/46813991 講的非常完美、透徹,不像其他的文章,都是抄襲的,沒一點註意事項和自己

15C語言基礎錯誤處理遞歸

png lose 讓我 指針 ++ 自身 actor 計算 16px C 錯誤處理 C 語言不提供對錯誤處理的直接支持,但是作為一種系統編程語言,它以返回值的形式允許您訪問底層數據。在發生錯誤時,大多數的 C 或 UNIX 函數調用返回 1 或 NULL,同時會設置一個錯

Linux詳解mpstatiostatsarvmstat命令的使用

mpstat是Multiprocessor Statistics的縮寫,是實時監控工具,報告與cpu的一些統計資訊這些資訊都存在/proc/stat檔案中,在多CPU系統裡,其不但能檢視所有的CPU的平均狀況的資訊,而且能夠有檢視特定的cpu資訊,mpstat最大的特點是:可以檢視多核心的cpu

Linuxtcp緩沖區大小的默認值最大值

2-0 gets 結構 break 什麽 spa 介紹 簡單介紹 allow Author:阿冬哥 Created:2013-4-17 Blog:http://blog.csdn.net/c359719435/ Copyright 2013 阿冬哥 http://blo

Linux安裝軟體的三種方式--rpmyum原始碼包

說明:此文首發於本人原創公眾號【媛測】中,如有轉載,請著明出處! 在windows系統下安裝軟體很簡單,下載軟體包後雙擊.exe檔案,點選下一步即可。然而在linux安裝軟體就沒那麼容易了,不同的Linux發行版有所差異,下面以centos7系統為例說明,如何在linux下安裝軟體

Linux檢視日誌類命令catlessmoretailhead

目錄 一、cat 二、more 三、less 四、tail 五、head 各命令的主要區別: linux命令中cat、more、less、tail、head均可用來檢視檔案內容,主要區別有: cat是一次性顯示整個檔案的內容,適用於檔案內容少的情況;