一、兩個檔案的交集、並集(前提條件:每個檔案中不得有重複行)
1. 取出兩個檔案的並集(重複的行只保留乙份)
cat file1 file2 | sort | uniq > file3
2. 取出兩個檔案的交集(只留下同時存在於兩個檔案中的檔案)
cat file1 file2 | sort | uniq -d > file3
3. 刪除交集,留下其他的行
cat file1 file2 | sort | uniq -u > file3
二、兩個檔案合併
1. 乙個檔案在上,乙個檔案在下
cat file1 file2 > file3
2. 乙個檔案在左,乙個檔案在右
paste file1 file2 > file3
三、乙個檔案去掉重複的行
1. 重複的多行記為一行
sort file |uniq
2. 重複的行全部去掉
sort file |uniq -u
四、find命令
1.find directory [options]
其中directory是檢索的起始目錄 ,options是一種表示式選項,用於指定各種匹配準則或檢索條件。
如:檢索當前工作目錄及其子目錄下所有以「.c」為字尾的檔案,並列印檔名
$ find . -name '*.c' -print
2.利用find命令的"-exec"選項,採用下列兩種命令形式,還能夠以批處理的方式,把檢索出來的檔案作為引數,交由其他命令做進一
步的加工處理。
-exec command {} \;
-exec command {} \+
其中,command可為任何檔案處理命令,花括號表示其引數取自find命令的輸出,即由find命令檢索出來的檔名予以替換。注
意,「-exec」選項的後面必須附加轉義的分號「\;" 或轉義的加號「\+」,作為命令的終結符。例如:
想要刪除當前目錄及其子目錄中擴充套件名為「.tmp」的所有檔案,可以使用下列命令
$ find . -name '*.tmp' -exec rm {} \;
橫向合併當前目錄及其子目錄中擴充套件名為「.txt」的所有檔案到檔案all中,可以使用下列命令
$ find . -name '*.txt' -exec cat {}>all \+
五、統計檔案的行數
語法:wc[
選項]檔案
說明:該命令統計給定檔案中的位元組數、字數、行數。如果沒有給出檔名,則從標準輸入讀取。wc
同時也給出所有
指定檔案的**計數。字是由空格字元區分開的最大字串。
該命令各選項含義如下:
-c統計位元組數。
-l統計行數。
-w統計字數。
這些選項可以組合使用。
輸出列的順序和數目不受選項的順序和數目的影響。
總是按下述順序顯示並且每項最多一列。
行數、字數、位元組數、檔名
如果命令列中沒有檔名,則輸出中不出現檔名。
例如:$wc -lcw file1 file2
4 33 file1
7 52 file2
11 11 85total
舉例分析:
1.統計demo
目錄下,js
檔案數量:
finddemo/ -name "*.js" |wc -l
2.統計demo
目錄下所有js
檔案**行數:
finddemo/ -name "*.js" |xargs cat|wc -l
或 wc -l `find ./ -name "*.js"`|tail -n1
3.統計demo
目錄下所有js
檔案**行數,過濾了空行:
find/demo -name "*.js" |xargs cat|grep -v ^$|wc -l
linux基礎知識(一)
提示關機資訊 root hadoop1 broadcast message from root hadoop1 dev pts 0 at 11 41 the system is going down for maintenancenow this computer will reboot 立即關機 ...
Linux基礎知識(一)
在linux系統中,檔案許可權的操作是經常使用到的,我們可以通過簡單的命令檢視檔案的基本許可權,修改檔案的內容以及刪除所建立的檔案或者是資料夾。具體內容如下 一 檔案內容檢視 1.touch 檔名稱 在指定的資料夾下面建立新的檔案 2.cat n 檔名稱 檢視檔案的內容,只顯示當地檔案的最後一頁 3...
Linux基礎知識(一)
本篇主要介紹linux作業系統相關知識以及其常用命令等。一般而言,現代計算機計算機系統是乙個複雜的系統,故若程式設計師需要掌握該系統的每乙個細節例如如何通過 去呼叫音響等這些事情,那可能不再編寫 了,這種情況會嚴重影響程式設計師的開發效率。並且管理這些部件並加以優化使用,是一件極富挑戰性的工作,於是...