歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix資訊 >> 優質操作Unix操作系統

優質操作Unix操作系統

日期:2017/3/6 11:42:53   编辑:Unix資訊

在使用Unix操作系統中,我們要注意到幾點操作中不應該做的,這些對我們使用Unix操作系統沒有好處,反而,經常會對我們操作Unix操作系統中帶來很多不方便,下面,就來看看原因吧。

Unix操作系統謹慎使用 xargs

從技術上講,使用 xargs 很少遇到麻煩。缺省情況下,文件結束字符串是下劃線 (_);如果將該字符作為單個輸入參數來發送,則它之後的所有內容將被忽略。為了防止這種情況發生,可以使用 -e 標志,它在不帶參數的情況下完全禁用結束字符串。

Unix操作系統了解何時 grep 應該執行計數——何時應該繞過

避免通過管道將 grep 發送到 wc -l 來對輸出行數計數。grep 的 -c 選項提供了對與特定模式匹配的行的計數,並且一般要比通過管道發送到 wc 更快,如以下示例所示:

好習慣 1 的示例:使用和不使用 grep 的行計數

  1. ~ $ time grep and tmp/a/longfile.txt | wc -l
  2. 2811
  3. real 0m0.097s
  4. user 0m0.006s
  5. sys 0m0.032s
  6. ~ $ time grep -c and tmp/a/longfile.txt
  7. 2811
  8. real 0m0.013s
  9. user 0m0.006s
  10. sys 0m0.005s
  11. ~ $

除了速度因素外,-c 選項還是執行計數的好方法。對於多個文件,帶 -c 選項的 grep 返回每個文件的單獨計數,每行一個計數,而針對 wc 的管道則提供所有文件的組合總計數。

然而,不管是否考慮速度,此示例都表明了另一個要避免地常見錯誤。這些計數方法僅提供包含匹配模式的行數——如果那就是您要查找的結果,這沒什麼問題。

Unix操作系統中,但是在行中具有某個特定模式的多個實例的情況下,這些方法無法為您提供實際匹配實例數量 的真實計數。歸根結底,若要對實例計數,您還是要使用 wc 來計數。首先,使用 -o 選項(如果您的版本支持它的話)來運行 grep 命令。此選項僅 輸出匹配的模式,每行一個模式,而不輸出行本身。但是您不能將它與 -c 選項結合使用,因此要使用 wc -l 來對行計數,如以下示例所示:

好習慣 1 的示例:使用 grep 對模式實例計數
~ $ grep -o and tmp/a/longfile.txt | wc -l
3402
~ $
在此例中,調用 wc 要比第二次調用 grep 並插入一個虛擬模式(例如 grep -c)來對行進行匹配和計數稍快一點。

在Unix操作系統中我們需要養成很多好的習慣,最好檢查一下您的命令行習慣中的任何不良的使用模式。不良的使用模式會降低您的速度,並且通常會導致意外錯誤。

Copyright © Linux教程網 All Rights Reserved