./aa/sdf/dslkfjuklsdfjlksjdf
./aa/sdf/dslkfjuklsdfjlksjdf
./bb/sdf2/dslkfjuklsdfjlksjdf
./bb/sdf2/dslkfjuklsdfjlksjdf
./bb/sdf2/dslkfjuklsdfjlksjdf
./bb/sdf2/dslkfjuklsdfjlksjdf
./cc/sdf3/dslkfjuklsdfjlksjdf
清洗目標為:
aa/sdf
bb/sdf2
cc/sdf3
用到cut -d、-f命令、詳情檢視:
cut -f field_list filename
field_list是需要顯示的列。它由列好組成,彼此之間用逗號分隔。例如:
cut -f 2,3 filename
這條命令將顯示第2列和第3列。
製表符是字段或列的預設定界符。沒有定界符的行也會照原樣列印出來。要避免列印出這種不包含定界符的行,則可以使用cut的-s選項。記法範圍要指定字元的定界符,使用-d選項。
另外,cut命令還可以將一串字元作為列來顯示。
-b 表示位元組;
-c 表示字元;
-f 表示定義字段。
下表列出了字元範圍的記法:
n-從第n個位元組,字元或字段到行尾
n-m從第n個位元組,字元或字段到第m個(包括第m個在內)位元組、字元或字段
-m第1個位元組,字元或字段到第m個(包括第m個在內)位元組、字元或字段
#-d 後面是分割的內容,-f 2-3是取出第二和第三個,從0開始
cat test.txt |cut -d / -f 2-3
第一步得到的結果:
aa/sdf
aa/sdf
bb/sdf2
bb/sdf2
bb/sdf2
bb/sdf2
cc/sdf3
去重的方式有幾種、用到的命令有sort、uniq
sort詳情:
將第一步的結果寫到t.log下
方式1
sort -u +檔名
sort -u t.log 或者 cat t.log |sort -u
結果
aa/sdf
bb/sdf2
cc/sdf3
方式2
使用uniq,uniq達到去重的目的,需要與sort結合使用。先排序再去重,否則達不到去重的目的!
sort t.log |uniq
結果
aa/sdf
bb/sdf2
cc/sdf3
檢視沒有重複的記錄 uniq -u
temp]$ sort t.log |uniq -u
結果
cc/sdf3
檢視發生重複的記錄 uniq -d
sort t.log |uniq -d
結果
aa/sdf
bb/sdf2
如果要檢視每個重複的數量可以使用uniq -dc (c是用來計數)
sort t.log |uniq -dc
結果
2 aa/sdf
4 bb/sdf2
python實現文字分割
文字分割是自然語言理解資料預處理中的重要步驟,本段程式實現的是用 分割文章,並且分割子句單句成行 import re pattern r 正則匹配模式,用 表示至少乙個字元 flags sentence txt with open test.txt r encoding utf 8 as reade...
Shell指令碼分割字串
以字元進行切割時 從字串左邊開始計數 如果想從字串的左邊開始計數,那麼擷取字串的具體格式如下 其中,string 是要擷取的字串,start 是起始位置 從左邊開始,從 0 開始計數 length 是要擷取的長度 省略的話表示直到字串的末尾 url c.biancheng.net echo 結果為b...
個人筆記 C txt文字分割器
using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.linq using system.text u...