官术网_书友最值得收藏!

1.7 將文本文件去重并導入MySQL數據庫

我們在工作中經常會碰到這樣的情況:獲取了一些文本數據,但由于其文件太大(超過1GB),無法直接讀取。因此,需要將這些文本文件數據庫化并去重,從而提高工作效率。

1.7.1 文件排序命令sort

sort命令在Linux里的作用非常大。它可以將文件排序,并將排序結果以標準形式輸出。sort命令既可以從特定的文件中獲取,也可以從標準形式的輸入中獲取,其格式如下。

· -b:忽略每行前面的空格。

· -c:檢查文件是否已經按照順序排列。

· -d:在排序時,處理英文字母、數字及空格字符,忽略其他字符。

· -f:在排序時,將小寫字母視為大寫字母。

· -i:在排序時,除了040~176的ASCII字符,忽略其他字符。

· -m:將幾個序號的文件合并。

· -M:將前三個字母按照月份的縮寫排序。

· -n:按照數值大小排序。

· -o<輸出文件>:將排序結果存入指定文件。

· -r:反向排序。

· -t<分隔字符>:指定排序時所用的欄位分隔字符。

· +<起始欄位>-<結束欄位>:以指定的欄位排序(由起始欄位開始,到結束欄位的前一欄位結束)。

sort命令以文件或文本中的每一行為單位進行比較。比較原則是:從首字符開始,依次按ASCII碼值進行比較,將比較結果按照升序輸出。最簡單的sort命令是“sort filename”。

1.7.2 去重命令uniq

uniq命令用于檢查和刪除文本文件中重復出現的行和列,其格式如下。

· -c或--count:在每個行/列的旁邊顯示其重復出現的次數。

· -d或--repeated:僅顯示重復出現的行/列。

· -f<欄位>或--skip-fields=<欄位>:不比較指定的欄位。

· -s<字符位置>或--skip-chars=<字符位置>:不比較指定的字符。

· -u或--unique:僅顯示出現一次的行/列。

· -w<字符位置>或--check-chars=<字符位置>:指定需要比較的字符。

· --help:顯示幫助信息。

· --version:顯示版本信息。

· [輸入文件]:指定已經完成排序的文本文件。

· [輸出文件]:指定需要輸出的文件。

最簡單的uniq命令是“uniq filename”,表示將filename文件中相鄰的重復內容去掉,對大量數據去重很有幫助。

主站蜘蛛池模板: 葵青区| 泰顺县| 金湖县| 万安县| 青神县| 中超| 永修县| 察雅县| 公主岭市| 绥宁县| 淳化县| 镇宁| 成安县| 绥中县| 左权县| 云梦县| 长泰县| 兖州市| 卫辉市| 罗田县| 霍林郭勒市| 宜城市| 梨树县| 西城区| 兰州市| 襄城县| 大城县| 龙里县| 新干县| 千阳县| 永嘉县| 贵港市| 高安市| 崇信县| 柘城县| 大港区| 平邑县| 海晏县| 秦皇岛市| 大足县| 景泰县|