這裡採用bash進行shell編程。因為bash是免費的,並且方便使用。bash - bourne again shell
檔案命名為 myshell.sh
執行檔案前,先獲得許可權:
chomod 777 myshell.sh
1.顯示檔案內容
#!/bin/bashcat myshell.sh
執行命令:
./myshell.sh
顯示結果:
#!/bin/bash
cat myshell.sh
2.統計一個檔案中的行數,單詞數,字元數
現有一個檔案vivi ,
檔案內容如下:
Hello, world!
vivi
shell檔案,內容如下:
#!/bin/bashwc -l vivi wc -w viviwc -c vivi
執行命令:
./myshell.sh
顯示結果:
root@vivi-Ideapad-Z460:~# ./myshell.sh
3 vivi
3 vivi
20 vivi
【觀察了一下,行數的統計包括空行,中間的空行也包括結尾的空行。 單詞數的統計是根據 空格 or 空行 來判斷的。 字元的統計,沒有看懂。。。貌似總是比我數的多那麼一個。。。。。】
wc vivi
顯示的結果就是 3 3 20 vivi
-l 是 line 只統計行數
3. 檔案拷貝
cp myshell.sh vivi
vivi 的內容已經改變了。。。。
4.檔案移動
mv vivi cici
這樣在你的工作目錄下就產生了一個cici的檔案,裡面的內容和vivi 一樣。。。。
5.對檔案中的行進行排序
sort filename
終端上顯示結果:
root@vivi-Ideapad-Z460:~# ./myshell.sh
hello,world!
leehom
This is a wonderful world!
vivi
6 得到檔案類型
file vivi
root@vivi-Ideapad-Z460:~# ./myshell.sh
vivi: ASCII text
7
管道 (|)將一個命令的輸出作為另外一個命令的輸入。
grep "leehom" vivi | wc -l
在 vivi 中 中搜尋 leehom並統計 leehom 出現的行數c
10 重新導向
重新導向:將命令的結果輸出到檔案,而不是標準輸出(螢幕)。
> 寫入檔案並覆蓋舊檔案。
>> 加到檔案的尾部,保留舊檔案內容。
反短斜線,使用反短斜線可以將一個命令的輸出作為另外一個命令的一個命令列參數。