在Unix操作系統中,我們會遇到很的問題。我們要有很扎實的Unix操作系統的知識才能夠解決這些問題。這裡的Unix操作系統家庭的小點滴,希望和大家分享。
1. Unix操作系統裁縫世家cut paste
(1),從一個文件中剪貼字段,字段之間按照特定的符號隔開(默認為空格)。cut –f2,3,5 –d:filea 將文件filea的第2,3,5個字段剪貼出來輸出到屏幕,其中每個字段之間用:分開,如果不帶-d則每個字段之間按空格分開。
(2),-c選項可以剪貼文件中的數據列。cut -c 1-15,20,22-30 filea 可以剪貼文件filea從第一列開始的第1-15個字符,第20個字符,和第22-30個字符,並輸出。
(3),paste 可以將多個文件按列方式合並,與 cut相結合可以重組文件格式。
則分別將文件filea的第2和第5個字段,fileb的第4個和第3個字段,filec的第11,12,13個字段合成為一個新文件filed。(最好filea,fileb,filec具有相同的行,不然將會將行多的文件的行貼到最後,前面的照樣匹配。
2. Unix操作系統偷梁換柱的高手tr.
trtranslate完成文件種批編輯的替換功能,用來將標准輸入中的字符轉換成標准輸出中的其他制定字符:. tr A B filea fileb 將文件filea中的所有A全部替換成B然後輸出到文件fileb
3. Unix操作系統tr 也支持范圍替換:
tr “[a-z]” “[A-Z]” filea 將filea中的所有小寫字母都替換成大寫。
tr -s ‘[A-Z]' ‘[!*]' filea 將所有大寫字符的連續出現替換成一個 ! 。
4.Unix操作系統可以利用tr 刪除一個字符的連續出現:
tr –s ″ ″ filea fileb 則將filea中的連續出現的空格以一個空格替換然後輸出到文件fileb。
5. Unix操作系統–d 選項可以刪除指定的字符
-cd 選項可以刪除列出的字符以外的所有字符:
- tr –d ″[a-z]″ filea fileb 將文件filea 中的所有小寫字符全部刪除然後輸出到fileb.
- tr –cd ″[a-z]″ filea 將文件filea 中除小寫字符a-z外的的內容全部刪除。
6. Unix操作系統“find ,grep strings” 織成一張無邊無際的網,幾乎可以網住所有需要查找的目標,但也難免有漏網之魚。
- find 在目錄中查找文件: find / -name filea –print
- grep 在文本文件中搜索模式: grep aaaaa filea
- strings 在文本文件或二進制文件中找出可打印字符:strings filea
還有很多Unix操作系統小成員,象sed,awk,perl,expect等,等我們混熟了,再介紹給大家。