Linux命令列裡的「瑞士軍刀」

2022-09-26 17:21:14 字數 1215 閱讀 8011

這裡說的「瑞士軍刀」是指那些簡單的一句命令就能完成其它高階語言一大片**才能完成的工作。

下面的這些內容是quora**上joshua levy網友的總結:

通過sort/uniq獲取檔案內容的交集、合集和不同之處:假設有a、b兩個文字檔案,檔案本身已經去除了重複內容。下面是效率最高的方法,可以處理任何體積的檔案,甚至幾個g的檔案。(sort對記憶體沒有要求,但也許你需要用 -t 引數。)可以試著比較一下,你可以看看如果用j**a來處理磁碟上檔案的合併,需要用多少行**。

複製** **如下:

cat a b | sort | uniq > c # c 是a和b的合集

cat a b | sort | uniq -d c # c 是a和b的交集

cat a b b | sort | uniq -u > c # c 是a和b的不同

彙總乙個文字內容裡第三列數字的和(這個方法要比用pyth程式設計客棧on來做快3倍並只需1/3的**量):

複製** **如下:

awk 『 end ' myfile

如果你想檢視乙個目錄樹里的檔案的體積和修改日期,用下面的方法,相當於你挨個目錄做」ls -l」,而且輸出的形式比你用」ls -lr」更可讀:

複製** **如下:

find . -ty f -ls

使用xargs命令。這個命令非常的強大。注意每行上你可以控制多少個東西的執行。如果你不確定它是正確的執行,先使用xargs echo。同樣,-i{} 也非常有用。例子:

複製** **如下:

find . -name \*.py | xargs grep some_function

cat hosts | xargs -i{} ssh root@{} hostname

假設你有乙個文字檔案,比如乙個web伺服器日誌,在某些行上有一些值,比如url中的acct_id引數。如果你想統計每個acct_id的所有請求記錄:

複製** **如下:

cat access.log | egrep -o 『acct_idgrmurfwqsd=[0-9]+' | cut -d= -f2 | sort | uniq -c | sort -rn ]

www.cppcns.com

[英文原文:what are the most useful "swiss army knife" one-liners on unix?

本文標題: linux命令列裡的「瑞士軍刀」

本文位址:

Linux 瑞士軍刀 awk cmd

linux awk 命令應用 awk的語法 awk f re parameter.prog f progfile in file.引數說明 f re 允許awk更改其欄位分隔符。parameter 該引數幫助為不同的變數賦值。prog awk的程式語句段。這個語句段必須用單拓號 和 括起,以防被sh...

Linux 命令篇 之 瑞士軍刀

netcat哈哈中文名字網路貓,是不是很可愛的名字,但是你知道它是鼎鼎大名網路工具中的瑞士軍刀,它能通過tcp和udp在網路中讀寫資料。通過與其他工具結合和重定向,你可以在指令碼中以多種方式使用它。nc工具可以勝任一切與根tcp和udp有關的一切操作 很多公司不會使用第三方的聊天工具因為他們害怕會洩...

nc瑞士軍刀的引數

d 後台模式 e prog 程式重定向,一旦連線,就執行 危險 g gateway source routing hop point s up to 8 g num source routing pointer 4,8,12,h 幫助資訊 i secs 延時的間隔 l 監聽模式,用於入站連線 l 連...