天天看點

9.一些shell程式設計中指令的累積

seq: -s “ ” 100 以“ ”為為分隔符 從1數到100(預設換行輸出) seq -s + 10 以某個符号分割輸出從1-n

seq -w 10:

last

first last

first 步長 last

倒序:

eval: eval會對後面的cmdLine進行兩遍掃描,如果第一遍掃描後,cmdLine是個普通指令,則執行此指令;如果cmdLine中含有變量的間接引用,則保證間接引用的語義。   舉例如下: set 11 22 33 44 如果要輸出最近一個參數,即44,可以使用如下指令, echo $4 但是如果我們不知道有幾個參數的時候,要輸出最後一個參數,大家可能會想到使用$#來輸出最後一個參數, 如果使用指令: echo "\$$#" 則得到的結果是 $4,而不是我們想要的44。這裡涉及到一個變量間接引用的問題,我們的本意是輸出 $4,預設情況下,指令後忽略變量間接引用的情況。 這時候,就可以使用eval指令。 eval echo "\$$#" 得到的結果為44

uptime: 列印系統如下資訊:

cut: <切割利器> -b :以位元組為機關進行分割。這些位元組位置将忽略多位元組字元邊界,除非也指定了 -n 标志。 -c :以字元為機關進行分割。 -d :自定義分隔符,預設為制表符。 -f  :與-d一起使用,指定顯示哪個區域。 -n :取消分割多位元組字元。僅和 -b 标志一起使用 egg: $ cat /etc/passwd|head -n 5|cut -d : -f 1 root bin daemon adm lp

tail -f a.log: 檢視一個檔案結尾的變化 grep -v xxx: 是指不顯示包含xxx的行或檔案,-v表示取反的意思

tr: <實作簡易版的sed功能> -c 用字元串1中字元集的補集替換此字元集,要求字元集為ASCII。 -d 删除字元串1中所有輸入字元。 -s 删除所有重複出現字元序列,隻保留第一個;

删除換行制表: