學習筆記第二十四節課
阿新 • • 發佈:2018-04-24
作業 學習 筆記
shell特殊符_cut命令
- *是通配符。
- ?是任意一個字符。
- #是註釋字符,寫命令的時候加一個#不生效。
- \是脫義字符。(就是取消掉原來的作用,讓它不生效)
- 昨天用過單引號 其實還可以用\ 。
- 管道符。
- 管道符相關的幾個命令 如上。
- 管道符後面可以用很多命令 比如 more less gerp
- cut命令是截取字符串的,-d 是指定分隔符 -f 是指定段號。
- 還有一個 -c是指定第幾個字符。 用-c 就不要用 -d 和-f 了 。
sort_wc_uniq命令
- sort 是排序的。比如從小到大排序。
- 比如像 etc /passwd 可以用sort去排序。排序出的結果就是字母首位從a到z排序。默認按阿斯瑪排序。
- 做個實驗 看看阿斯瑪是怎麽排序的。
- 先列出來 etc/passwd的內容,追加到1.txt中去,再編輯一些字符 數字 和字母。
- 然後sort 一下,首位是字符 然後是數字 然後是字母。
- 還有個選項是 sort -n 在這個排序裏 字符和字母會被認為是0 然後123456 這樣往下排序。
- sort -r 反向排序
- 還有個-t 是分隔符, 這個不常用。
- wc 命令用的比較多 wc -l是統計行數的。
- wc -m 統計字符數。我們在一個空文件裏 寫入6個字符,但是去統計的話是九個,可以用cat - A 去查看隱藏的, 其實還有三個換行符、
- wc -w 是統計詞的。以空格區分。
- uniq 是去重的。
- 我們先從新編輯下2.txt 然後用uniq 試一下,發現沒有改變。
- 然後再編輯,把兩個1排在一起,再uniq 就發現 去重了 。
- 去重是有條件的,要先排序再去重。 uniq -c 是統計重復次數。
- 不管是 sort 還是 uniq 都不會對文件本身做什麽修改,僅僅是列出來 進行了一些操作。
- tee 和輸出重定向有點類似,
- 比如 輸出重定向只是把內容寫入到了某個文件中,但是並不顯示,需要cat 查看才可以確認。
- 用tee 就可以直接顯示出來。 記得加管道符。
- 清空的命令就是 > +文件名。 再去 tee 還是可以顯示出來打印到屏幕上。
- tee -a 就是追加。
- tr就是替換字符, 可以支持寫多個,就i是加[] 表示任選其一的意思,
- split 切割 可以把大文件切割成小文件。
- 就比如一個文件很大 500g 我們可以切割成小份文件 去查看。(不加單位的話 默認是字節)
- 有兩個選項 一個是 split -b +指定文件大小。+大文件本身。
- 還有就是 split -l +指定行數+大文件本身。
- 做個實驗。
- 把a.txt裏的文件做一個切割,不加單位
- 用du -sb查看是 1000b
- 如果切割的時候不指定文件名 就是以xaa開始往下排序。
- 不加單位 就默認是字節 加單位就按單位計算切割 同時也可以指定切割後的文件名。
- 還可以切割成行
shell特殊符號下
$ 變量的前綴。!$ 是組合。在正則中 是行尾。
;是多條命令寫到一行 用分號分割。也可以不加空格 但是為了更好識別 可以加上。
~ 表示用戶的家目錄 在正則裏面表示匹配符。
& 把命令丟到後臺去。
‘>’ 正確的輸出重定向。‘>>‘正確的追加重定向 ‘2>’錯誤的輸出重定向 ‘2>>’錯誤的追加重定向 不想區分正確錯誤,就&> 都會輸出。
[] 是指定字符中的一個 也可以選擇 範圍 和指定 是字母大小寫 和數字。
|| 在shell當中表示或者的意思。
比如 執行兩條命令 第一條錯誤 那就i會執行第二條。如果第一條正確 就不會執行第二條。 這就是或者。
&& 和|| 正好相反 是第一條正確才會執行第二條,第一條不成功 就會執行第二條。
學習筆記第二十四節課