shell——cat,find,xargs,tr,sort,grep

來源:互聯網
上載者:User

一.cat

1.cat  file1 file2  file3…

2.使用管道從標準輸入中讀取:

echo “Hadoop hive!” | cat –file.txt

3.壓縮空白行

(1)壓縮多個連續空白行為單個

cat  -s file

  (2)移除空白行

                 cat  file.txt | tr -s  ‘\n’

4.cat -T  file;  顯示定位字元為^

5.cat  -n file;   顯示行號

 

二.錄製與回放終端回話

  script -t 2> timing.log  -aoutput.sessin

  exit

scriptreplay  timing.log output.session

 

三.find

1.沿著檔案階層往下遍曆,匹配合格檔案。

2. find . –print;

-print是使用’\n’作為分隔字元的定界符,-print0指明使用’\0’作為定界符。

-name指定了檔案名稱所匹配的字串,-iname則忽略大小寫

find  /usr/local -name “*.txt” -print

find  . !  -name “*.txt”  -print;  。含有否定的意思,不以txt結尾的檔案名稱

find . \(-name “*.txt” –o –name “*.pdf” \)–print

find  /usr/local -path “*.txt”  -print

3.基於目錄深度、檔案類型的搜尋

Find  .  –maxdepth  1–type f -print

Find  .  –mindepth 2 -type f  -print

-type可以對搜尋檔案過濾

普通檔案

f

符號連結

l

目錄

d

字元裝置

c

塊裝置

b

通訊端

s

Fifo

p

 

4.基於檔案時間的搜尋

訪問時間:-atime  ,-amin

修改時間:-mtime ,-mmin

變化時間:-ctime, -cmin

find  . –type f –atime  +7 –print;列印訪問時間超過7天的所有檔案

-newer:找出比參考檔案更新的(更長的修改時間的)所有檔案

find  . –type f  -newer  file.txt -print

5.基於檔案大小的搜尋

find  . –type f  -size  +2k

6.刪除匹配檔案

find  .  –type  -f –name “*txt” –delete

7.基於檔案許可權和所有權的匹配

find  .  –type f  -perm 666 –print

8.找某個特定使用者所擁有的檔案

find  .  –type f  -user cw -print

9.find 與 –exec{}合用

find  . –type f –name“*.txt” –exec  cp {} /usr/local \;

find . –type f –name”*.pdf” –exec printf”text file: %s\n”{} \;

find . type f –name “*.cpp” –exec cat {} \;>all.out

 

四.xargs

1.xargs擅長將標準輸入資料轉化為命令列參數

2.將多行輸入轉換成單行輸出

cat  file.txt  | xargs

3.將單行輸入轉化為多行輸出

cat  file.txt | xargs –n 4

4.使用定界符分割參數

echo  “splitXshellXhadoop”| xargs –d X  -n 2

cat  file.txt |xargs  -n 2 ./demo.sh;//將file中的資料以每次2個傳遞給demo.sh作為參數。

 

五.tr轉換命令

1.tr只能通過stdin,而無法通過命令列參數來接受輸入

2.將輸入字元由大寫轉為小寫

echo “HELLO” | tr  ‘A-Z’  ‘a-z’

echo 1234 | tr ‘0-9’  ‘9876543210’

cat file.txt | tr ‘\n’  ‘’

3.指定要刪除的字元集合

cat  file.txt | tr  –d ‘0-9’

4.刪除補集-c

echo “hello 1 hive3 hadoop2”| tr –d –c ‘0-9 \n’;

刪除集合之外的所有字元

5.tr壓縮字元-s

echo “gun is  not    right?” | tr –s ‘ ‘;壓縮空格

將檔案中的數字相加

Cat  sum.txt

1

2

3

4

cat  sum.txt | echo$[$(tr ‘\n’ ‘+’ ) 0];尾部多了個+號所有加0.

 

六.sort

1.sort file1.txt  file2.txt > sort.txt

2.sort  -n file.txt;按數字排序

3.sort  -r file.txt;逆序排序

4.sort  -M file.txt;按月份排序

5.sort  -m sort1.txt  sort2.txt;對合并後的檔案合并,不再排序

6.sort  -k  2 file.txt;對第二列排序

7.sort  -nrk 1  file.txt;對第一列逆序按數字排序


七. grep

grep用於在檔案中搜尋指定的字串

1.      搜尋目錄下帶字串bin的檔案

Grep  bin  *

2.      明確要求搜尋子目錄;grep  -r

3.      忽略子目錄:grep  -d  skip

4.      不區分大小寫地搜尋:grep  -i pattern  files

5.      只列出匹配的檔案名稱:grep  -l pattern  files

6.      列出不匹配的檔案名稱:grep  -L pattern  files

7.      只匹配整個單詞而不是字串的一部分:grep  -W pattern  files

8.      匹配的上下午分別顯示[number]行:grep –C number  pattern  files

9.      顯示匹配pattern1或pattern2的行:grep  pattern1 | pattern2  files

10.  顯示兩者都匹配的行:grep  pattern1  files | grep pattern2

11.  \<和\>分別標註單詞的開始和結尾

12.' ^'指匹配字串在行首,'$'指匹配的字串在行尾

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.