1. 程式人生 > >處理資料檔案

處理資料檔案

 

1、排序資料

sort命令按照會話指定的預設語言的排序規則對文字檔案中的資料行排序。預設情況下, sort命令會把數字當做字
符來執行標準的字元排序,產生的輸出可能根本就不是你要的。解決這個問題可用-n引數,它會告訴sort命令把數字識別成數字而不是字元,並且按值排序。如:sort -n file。另一個常用的引數是-M,按月排序。


用-t引數來指定欄位分隔符,然後用-k引數來指定排序的欄位。如sort -t ':' -k 3 -n /etc/passwd,結果如下:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
……//太長,省去
gaopeng:x:1033:1013:,,,:/home/gaopeng:/bin/bash
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
現在資料已經按第三個欄位——使用者ID的數值排序。

顯示檔案大小的命令:du -sh * | sort -nr,結果如下:

229M    no_delta_r2_modify
203M    no_delta_r2
32G     thread_test
25M     x264
16K     capture.txt
6.1G    have_delta_r2_opt_modify
6.1G    have_delta_r2_opt
4.0K    file.c
1.7G    capture1
1.3G    capture2
0       ttttest
0       test

2、搜尋資料

grep    [options]    pattern    [file]
如:grep three file1,搜尋檔案file1中包含three的行,並顯示該行。

grep -v t file1       //-v表示反向搜尋

grep -n t file1       //-n顯示匹配模式所在的行號

grep -c t file1       //-c表示有多少航含有匹配的模式

grep -e t -e f file1     //-e制定多匹配模式

egrep支援POSIX擴充套件正則表示式,POSIX擴充套件正則表示式含有更多的可以用來指定匹配模式的字元。 fgrep支援將匹配模式指定為用換行符分隔的一列固定長度的字串。
3、壓縮資料

Linux上的檔案壓縮工具:

gzip是Linux上最流行的壓縮工具。
 gzip:用來壓縮檔案。如:gzip myprog
 gzcat:用來檢視壓縮過的文字檔案的內容。
 gunzip:用來解壓檔案。
4、歸檔資料
tar命令的格式:tar function [options] object1 object2 ...
function引數定義了tar命令應該做什麼:

tar命令使用的常見選項:

tar -cvf test.tar test/ test2/   建立名為test.tar的歸檔檔案,含有test和test2目錄內容。

 tar -tf test.tar      列出tar檔案test.tar的內容(但並不提取檔案)。

tar -xvf test.tar     從tar檔案test.tar中提取內容。