1. 程式人生 > >Linux Shell 文字檔案處理

Linux Shell 文字檔案處理

  • 通過sort/uniq獲取檔案內容的交集、合集和不同之處:假設有a、b兩個文字檔案,檔案本身已經去除了重複內容。下面是效率最高的方法,可以處理任何體積的檔案,甚至幾個G的檔案。(Sort對記憶體沒有要求,但也許你需要用 -T 引數。)可以試著比較一下,你可以看看如果用Java來處理磁碟上檔案的合併,需要用多少行程式碼。
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的不同
  • 彙總一個文字內容裡第三列數字的和(這個方法要比用Python來做快3倍並只需1/3的程式碼量):
awk ‘{ x += $3 } END { print x }’ myfile
  • 如果你想檢視一個目錄樹裡的檔案的體積和修改日期,用下面的方法,相當於你挨個目錄做”ls -l”,而且輸出的形式比你用”ls -lR”更可讀:
find . -type f -ls
  • 使用xargs命令。這個命令非常的強大。注意每行上你可以控制多少個東西的執行。如果你不確定它是正確的執行,先使用xargs echo。同樣,-I{} 也非常有用。例子:
find . -name \*.py | xargs grep some_function
cat hosts | xargs -I{} ssh [email protected]
{} hostname
  • 假設你有一個文字檔案,比如一個web伺服器日誌,在某些行上有一些值,比如URL中的acct_id引數。如果你想統計每個acct_id的所有請求記錄:
cat access.log | egrep -o ‘acct_id=[0-9]+’ | cut -d= -f2 | sort | uniq -c | sort -rn 

相關推薦

Linux Shell 文字檔案處理

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

shell : 文字檔案處理 刪除每行前兩個字元

sed -i 's/^..//' file.txt 使用了sed的正則替換命令,格式為 s/A/B/ 其中,A為正則表示式,^ 匹配行首位置,點號 . 匹配任意一個字元。 這裡即將行首的前兩個字元替換為空。

Linux Shell 文字處理工具集錦(重點推薦)

        依稀記得某人曾今問過關於linux中的高階用法,當時覺得一臉懵逼,後來才發現,所謂的高階用法,無非是可以被python替換的shell基礎指令碼,及處理10GB資料量以下的linux基礎命令。現在看到了就整理了一下。 1.shell特殊符號

快收藏!史上最全的 Linux Shell 文字處理工具集錦

本文將介紹Linux下使用Shell處理文字時最常用的工具:find、grep、xargs、so

Linux Shell 文本處理工具集錦

12c 程序員 常用 忽略 忽略大小寫 第一個 rgs del num 本文將介紹Linux下使用Shell處理文本時最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和參數都是最常用和最為實用的

Linux基本命令 檔案處理命令

1.命令格式和目錄處理命令ls 命令格式:命令 [-選項] [引數] 例如:ls -la /etc 說明:1.個別命令使用不遵守此格式。2. 當有多個選項時,可以寫在一起。 2.目錄處理命令    目錄名稱:ls   英文原意:list   命令所在路徑 /bin/ls   

Linux基礎命令——檔案處理命令

1)file file用來判斷檔案型別 2)mkdir 建立目錄,根據引數不同,可建立上層目錄。 上圖中顯示已經建立fst。 3)find 用於尋找目錄下的檔案,find/則是在全硬碟範圍內搜尋,在find後面加上路徑可以在指定路徑內搜尋檔案。 上圖是在home檔案中尋找和f

linux shell檔案操作

查詢字串所在行 : grep -n “待查詢字串” “檔名” 顯示指定行資訊:sed -n '1,5p' “指定檔案”  表示顯示指定檔案第一至五行的資訊 ----------------------------------------------------------

LINUX入門筆記--檔案處理命令--檔案處理命令

1.touch 命令名稱:touch 命令所在路徑:/bin/touch 執行許可權:所有使用者 語法:touch [檔名] 功能描述:建立空檔案 範例: 1.touch [檔名],如果在沒有指明絕對路徑的情況下就預設在當前目錄建立該檔案,但是如果指明絕對路徑的話就是在指

Linux入門筆記--檔案處理命令--命令格式與目錄處理命令ls

命令格式 命令格式:命令[-選項][引數]    可以將選項理解為用來調整操作的功能,引數理解為操作的物件,可能是使用者,程序或者檔案   例如: ls -la /etc  說明:①個別命令使用不遵循此規則。選項和命令用中括號括起來說明可有可沒有,

LINUX入門筆記--檔案處理命令--目錄處理命令(續)

1.mv 命令名稱:mv 命令英文原意:move 命令所在路徑:/bin/mv 執行許可權:所有使用者 語法:mv [原始檔或目錄名] [目標目錄] 功能描述:剪下檔案,改名 範例: 1.剪下檔案時,是不需要選項的,直接用mv即可了。如圖,我在臨時目錄/tmp下用mk

LINUX入門筆記--檔案處理命令--目錄處理命令

目錄處理命令 1.mkdir 命令名稱:mkdir 命令英文原意:make directories 命令所在路徑:/bin/mkdir 執行許可權:所有使用者 語法:mkdir -p[目錄名] 功能描述:建立新專案 -p是遞迴建立 範例:如下圖   &n

Linux---使用文字檔案

使用Vi和Vim編譯文字 開始使用vi          vi /tmp/test 新增文字             當完成文字輸入,按ESC退出編輯當輸入一個:進入ex模式,需要輸入兩次ESC;a新增命令,A在命令結束處新增,i插入命令(游標左邊),I在命令開始前,o當

(一)Linux學習筆記-Linux常用命令-檔案處理

(一)Linux學習筆記-Linux常用命令-檔案處理 檔案處理 命名規則 ls(list,顯示目錄檔案) cd(change directory,切換目錄) pwd(print working directory,顯示所在目錄)

Linux中的檔案處理-拷貝,刪除和移動

複製檔案/目錄(命令:cp) 命令 解釋 (file表示檔案,dir表示目錄) cp file1 file2 拷貝 file1 為 file2 cp file1

go語言基礎語法:異常處理文字檔案處理,JSON處理檔案操作

一、異常處理 1.err介面的使用 err1 := fmt.Errorf("%s", "this is normal error") fmt.Println("err1=", err1) err2 := errors.New("this is normal error,

簡單文字檔案處理

    int chfrom = Convert.ToInt32("4e00", 16); //範圍(0x4e00~0x9fff)轉換成int(chfrom~chend) int chend = Convert.ToInt32("9fff", 16); using (FileSt

LINUX入門筆記--檔案處理命令--連結命令

ln 命令名稱:ln 命令英文原意:link 命令所在路徑:/bin/ln 執行許可權:所有使用者 語法:ln -s [原檔案] [目標檔案]              -s 建立軟連結   如果沒有-s這個格式的話生成的就是硬連結 功能描述:生成連結檔案 範例

Linux常用命令-檔案處理命令

命令格式 命令 [-選項] 引數-操作物件 各別命令不遵循 多個選項是可以寫在一起 簡選項-a 與長選項–all 目錄處理命令 ls(list) [選項] [檔案或目錄] /bin/ls 所有使用者都可以使用 所有者只能有一個 -a 顯示所有包括

linux查詢文字檔案

轉載出處:https://www.cnblogs.com/huninglei/p/5824205.html 在使用linux時,經常需要進行檔案查詢。其中查詢的命令主要有find和grep。兩個命令是有區的。   區別:(1)find命令是根據檔案的屬性進行查詢,如檔名,檔案大小,所有者,所