Linux基礎知識(一)

2021-07-24 02:58:57 字數 1992 閱讀 2056

一、兩個檔案的交集、並集(前提條件:每個檔案中不得有重複行)

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作業系統相關知識以及其常用命令等。一般而言,現代計算機計算機系統是乙個複雜的系統,故若程式設計師需要掌握該系統的每乙個細節例如如何通過 去呼叫音響等這些事情,那可能不再編寫 了,這種情況會嚴重影響程式設計師的開發效率。並且管理這些部件並加以優化使用,是一件極富挑戰性的工作,於是...