3 2檢視普通檔案的內容

2021-10-01 08:22:30 字數 4005 閱讀 2034

3.2檢視普通檔案的內容

文字統計:wc——word count 顯示檔案行數、單詞數、位元組數和檔名

[root@192 ~]# wc file1

1(行數) 1(單詞數) 1(位元組數除末行的每一行結尾斷行符都算乙個位元組) file1

[root@bogon /]# cat file1

liyan

haha

[root@bogon /]# wc file1

2 2 11 file1

[root@bogon /]# cat -a file1

liyan$

haha$

#在utf-8編碼格式裡面,顯示時乙個字元佔乙個位元組,乙個中文字占用3個位元組,1個字元

只顯示單詞數:wc -w 檔名

只顯示位元組數:wc -c 檔名

只顯示行數:wc -l 檔名

只顯示字元數:wc -m 檔名

顯示最長的一行的字元數(不包括斷行符):wc -l 檔名

1、直接檢視檔案內容

cat連線並顯示檔案內容到標準輸出

連線[root@192 ~]# cat file5

cat: file5: no such file or directory

內容和標準輸出

[root@192 ~]# cat file1

hehe

haha

顯示檔案內容並顯示行號:cat -n 檔名

黑洞機制(shell指令碼裡面經常用)

將檔案內容重定向到/dev/null:

標準輸出cat 檔案 > /dev/null

標準錯誤輸出cat 檔案 2> /dev/null

[root@192 ~]# cat file1 > /dev/null

[root@192 ~]# cat file5 2> /dev/null

不帶任何選項時,從標準輸入接收輸出到標準輸出

[root@192 ~]# cat > /dev/null

nishishabi(標準輸入)(ctrl d退出)

tac逆序顯示檔案:tac(cat檢視檔案正序,cat反過來即是逆序檢視檔案)

more

從頭開始逐行檢視(按d向後翻按b往回翻):more /var/log/messages 在沒有翻到最後一屏時支援向前翻,顯示檔案檢視百分比,但翻到最後一頁時會退出

前後檢視檔案內容:less /var/log/messages 支援翻到最後一頁,不顯示檔案百分比,不退出,按q退出

man手冊檢視命令用法預設用less開啟

預設檢視檔案前10行:head /etc/passwd

指定檢視前5行:head -5 /etc/passwd

預設檢視後10行:tail /etc/passwd

檢視後5行:tail  -5 /etc/passwd

動態跟蹤變化:

tail -f /var/log/messages

2、對檔案資料內容進行處理之後顯示

文字切割顯示:

cut -d指定分隔符 -f 指定第幾列 被切割檔案

-f 1,3第一列和第三列

-f 1-3第一列到第三列

-c 1-4 指定第一到第四個字元

指定分隔符為空格的時候需要用單引號或雙引號引起來,因為空格的作用是分割多個引數,如果不用引號則會被認為是與下乙個引數分割的符號,而不是指定分隔符

[root@192 ~]# cut -d -f 2 /etc/passwd

cut: the delimiter must be a single character

try 『cut --help』 for more information.

[root@192 ~]# cut -d " " -f 2 /etc/passwd

root❌0:0:root:/root:/bin/bash

bin❌1:1:bin:/bin:/sbin/nologin

cut -d : -f 1-3–output-delimiter=@(將輸出的分隔符換成@)/etc/passwd

文字排序顯示:

排序顯示(預設根據字元在ascii碼中的公升序排序):sort 檔名(先比較第一位再比較第二位)

[root@192 ~]# sort file4110

1001000

123

132按照數值大小排序:sort -n 檔名

排序並去掉重複的:sort -u 檔名

逆序排序:sort -r 檔名

按照使用者uid數字大小排序顯示:

sort -t 指定分隔符 -k 指定第幾列 -n /etc/passwd

-f 排序時忽略字元大小寫65 97

[root@192 ~]# sort file3aa

bbcc

[root@192 ~]# sort -f file3aa

bbcc

顯示時去掉重複的行,重複的行必須相鄰

uniq 檔名

[root@192 ~]# cat file4

1212

12212

[root@192 ~]# uniq file4

12122

12-d 只顯示重複的行

[root@192 ~]# uniq -d file4

12-d 顯示所有重複的行

[root@192 ~]# uniq -d file4

1212

-c 顯示重複行重複的次數

[root@192 ~]# uniq -c file4

2 12

1 122

1 12

文字過濾顯示:grep可以根據特定的字串,對指定檔案的每一行進行搜尋,如果找到了這個字串,就將含有這些內容的行輸出。

查詢檔案裡有字元h的字串:grep h 檔名

匹配整個單詞:grep -w 單詞 檔名

匹配以q開始的行:grep 1

檔名匹配以q結束的行:grep q$ 檔名

匹配以數字開頭的行:grep 2

檔名匹配以q或者f開頭的行:grep 3

檔名不匹配以q或者f開頭的行:grep [qf]檔名

匹配oo前面不是f或者g的字串:grep [^gf]oo 檔名

匹配以#號開頭的行:grep ^#

過濾空白行:grep ^$

過濾之後沒有空白行且都是#開口的行

grep -v ^$ ^# /etc/passwd不對,因為只能按照乙個標準過濾

如果要明確搜尋子目錄:grep -r h ./*

忽略子目錄:grep -d skip h ./*

-l:查詢多檔案時只輸出包含匹配字元的檔名

搜尋時忽略大小寫:grep -i

搜尋時顯示沒有匹配到的行:grep -v

搜尋時顯示匹配到的那一行以及下2行:grep -a 2

搜尋時顯示匹配到的那一行以及上2行:grep -b 2

搜尋時顯示匹配到的那一行以及上下2行:grep -c 2

q ↩︎

0-9 ↩︎

qf ↩︎

檔案內容檢視

前面講解了檔案與目錄的管理,下面就將講講檔案內容的檢視.檔案內容檢視主要是三個命令 cat,less,more 下面現簡單的說下他們的特點,然後再一一介紹 直接檢視檔案的內容,可以用cat,tac,nl這三個命令 由於cat和tac的選項和引數是一樣的,所以就不贅述了.cat命令的只要功能是把乙個檔...

檔案內容檢視

a,show all 等價於 vet,可列出一些特殊字元而不是空白 b 或 number nonblank 和 n 相似,只不過對於空白行不編號。e 或 show ends 在每行結束處顯示 n 或 number 由 1 開始對所有輸出的行數編號。t 或 show tabs 將 tab 字元顯示為 ...

linux shell 檢視檔案內容

cat 檔名 引數 由第一行開始顯示檔案內容 引數 n 顯示時列印行號 b 顯示時僅列印非空白的行號 tac 檔名 從最後一行開始顯示 more 檔名 一頁一頁的顯示檔案內容 less 檔名 與 more 類似,但是比 more 更好的是,他可以往前翻頁 head n number 檔名 只看頭n行...