1. 程式人生 > >通過案例學習重定向.tr命令

通過案例學習重定向.tr命令

onload 但是 宋體 變成錯誤 重定向 str 求和 boot 內容

1.將日歷重定向指定文件中

技術分享

解釋:當一個大於號的時候會覆蓋重定向的文件,因此在工作中要註意此操作,(set -C),可以防止文件被覆蓋 ,兩個大於號表示追加,不會使目的文件裏的內容覆蓋。在大於號前面其實是省略了一個數字1,表示標準正確輸出,數字2表示 標準錯誤輸出,這裏沒有演示,有興趣的同學可以實驗。

2.理解>filename 2>&1

技術分享

解釋:ls /boot /err 這條命令是顯示目錄/boot和/err裏的內容,由於/err這目錄不存在,所以會顯示錯誤提示,這裏也就可以達到既顯示正確結果也顯示錯誤結果了。 下面對後面命令解釋,>/app/all.log 這條命令表示將正確結果重定向到/app/all.log這個文件裏,從下面的結果也能看出,2>&1 可以簡單的理解為將錯誤的變成正確的,就像洗錢一樣,將黑錢變成白錢,所以查看文件的時候會看到正確和錯誤的內容。註意>/app/all.log 和2>&1的順序, (2>/app/all.log 1>&2).(&>/app/al l.log).(>& /app/all.log)也可以達成目的哦。

3.特殊用法(1>&2)

技術分享

解釋:首先我們知道我們此刻在root的家目錄下,單獨使用ls命令可以查看到家目錄下的非隱藏文件,1>&2,在這裏是將ls的正確顯示結果變成錯誤的結果,在小括號裏整體是個錯誤的結果,所以不會重定向到後面的文件裏,但是,在屏幕上也會顯示錯誤的結果。當修改為2>ls.log時,小括號裏整體內容是錯誤的,所以會被重定向到ls.log文件裏,而不會在屏幕上顯示。因此在屏幕是看不到的,查看ls.log文件可以看到結果.通過此實驗可以總結出,錯誤和正確可以互相轉換。

4.通過tr命令轉換文件內容

技術分享

解釋:tr ‘a-z‘ ‘A-Z‘ 這條命令表示將文件中的所有小寫字母轉換成大寫字母,</app/issue表示將/app/issue裏的內容交給tr命令處理,然後處理結果重定向到 /app/issue1裏。

拓展:

-c :取代所有不屬於第一字符集的字符

-s :把連續重復的字符以單獨一個字符表示

-d :刪除指定字符

5.計算1+..+100的和

技術分享

解釋:seq可以顯示某一指定的序列,例如本例中的顯示1到100的數字,tr命令將空格變成加號,然後用bc求和。

通過案例學習重定向.tr命令