二、shell對文本的操作01.查看文本的命令#cat /etc/passwd(並非對文本文件操作)#tail -5 /etc/passwd(查看末尾5行)#tail -f /var/log/messages(對日誌文件監視)02.使用正則表達式的命令#cat sdkjfalkdsjfsdkjfal
二、shell對文本的操作01.查看文本的命令#cat /etc/passwd(並非對文本文件操作)#tail -5 /etc/passwd(查看末尾5行)#tail -f /var/log/messages(對日誌文件監視)02.使用正則表達式的命令#cat sdkjfalkdsjfsdkjfalkdsjfieakjnhgalkdsjlkieakjnhgalkdsjlk#grep aaaa (具有篩選的作用)ald;sjflkajdsasdkjflajsdfsadfaaaaasdfadffdsaaaasdfadffds#grep -R -l#grep byf /etc/passwdbyf:……:…:…byf123:……:…:…#grep '\<byf\>' /etc/passwd(篩選)byf:……:…:…#cut -d: -f1 /etc/passwd | grep byf(截斷)byfbyf123#grep byf /etc/passwd | cut -d : -f7(截斷+篩選)/bin/bash/bin/bash#cut -d: -f7 /etc/passwd(查看所有用戶的主目錄)#sort -t: +2(從第二列開始) -n(ASCII碼值排列) /etc/passwd(按照這個要求保存?否)#sort -t: +2(從第二列開始) -n(ASCII碼值排列) -r(反向排序) /etc/passwd#sort -t: +2(從第二列開始) -n(ASCII碼值排列) /etc/passwd > /tmp/a#cat /tmp/a(在a這個文件中排列好)#du(顯示文件屬性) | sort117211981212313 #du(顯示文件屬性) | sort -n -r 降序排列#du | sort | -n -r |head -n 3 |cut -f2 (顯示文件屬性,降序排列,頭3條,第二列內容)#grep -R (對文件以及子文件篩選)#grep -R -l(只顯示文件名) ‘文件名’#grep -v(不包含改文件名的查找出來) -l -R -c(行號) -A2 -D2#cut -d: -f2-4 -c1-5#sort -n -r -t +2#grep -A5(顯示下文的5行) -B5(顯示上文的5行) byf /etc/passwd#wc /etc/passwd42 67 1925 /etc/passwd#wc -l(行) /etc/passwd42 /etc/passwd#wc -w(單詞) /etc/passwd67 /etc/passwd#wc -c(字元) /etc/passwd1925 /etc/passwd#cut -d: -f7 /etc/passwd(把大家的shell顯示出來)#cut -d: -f7 /etc/passwd |uniq(每種shell只顯示一種)#cut -d: -f7 /etc/passwd |sort|uniq(排序+只顯示一種)#cut -d: -f7 /etc/passwd |uniq|wc -l(顯示行號)#diff a.txt b.txt(比較a和b文件的區別)文件版本不同時:uniqdiffpatch -p0 < patch.2.6.20#locate -r "正則表達式"#grep 'byf' /etc/passwd#echo * (是一個文件名)#echo '*'*#grep 's.*k'(包含s,k中間任意多個字元)#grep 'sherk$' a (以sherk結尾的字元串)#grep '^sherk' a (以sherk開頭的字元串)匹配單個字元 ‘\.’,'\*'匹配一個單詞 '\<s..k\>'匹配以aaa開頭的單詞 '\<aaa'匹配18個a開頭的單詞 'a\{18\}'#vi /usr/shre/dict/words#grep '.\{40,\}' name (四十個字元以上的單詞)#grep '^i.\{18\}n$'#vi /etc/squid/squid.conf(配置信息)#grep -v(不包含) '^#' /etc/squid/squid.conf | grep -v '^$'(去掉空格)| wc -l(顯示行號)#%s/byf/tttttt/g(替換全文的byf為tttttt)#%s/byf\/tttttt/g#locate -r '正則表達式'#grep '^[abc]' /etc/passwd(以a或b或c開頭的單詞)#grep '^[^a-c]' /etc/passwd (不是以a,b,c開頭的單詞)..*^aa$\<goodSh\>[abc][^abc]a*表示空、a,aa,aaa,……a?表示一個或零個單獨的aa+表示a,aa,aaa,……a\{n\} 表示重覆了n次的a