1、文本去重 uniq
usage: uniq [-ic]
-i 忽略大小寫
-c 計算重複行數
$ cat aa.txt
bb 3
aa 2
bb 3
bb 3
aa 2
$ cat aa.txt | sort -t" " -k 2| uniq -ic
2 aa 2
3 bb 3
2、使用 cut 截取文本
usage:
usage: cut -b list [-n] [file ...]
cut -c list [file ...]
cut -f list [-s] [-d delim] [file ...]
cut -f 指定的列 -d "分隔符"
cut -c 指定列的字符
eg:
cut -f 1,3 -d ":" file #獲取文件中:分割後的第一 、三列
cut -f 1-3 -d ":" file #獲取文件中:分割後的第一至第三列
eg:獲取文件中的第一列
$ cat aa.txt
bb 3
aa 2
bb 3
bb 3
aa 2
$ cat aa.txt | cut -f 1 -d " "
bb
aa
bb
bb
aa
# 獲取文件中第一個字符
$ cat aa.txt | cut -c 1
b
a
b
b
a
# 獲取文件中第一個和第二個字符
$ cat aa.txt | cut -c 1-2
bb
aa
bb
bb
aa
3、tr 進行文本轉換
usage: tr [-Ccsu] string1 string2
tr [-Ccu] -d string1
tr [-Ccu] -s string1
tr [-Ccu] -ds string1 string2
eg:
# 將小寫替換成大寫輸出
$ cat aa.txt | tr '[a-z]' '[A-Z]'
BB 3
AA 2
BB 3
BB 3
AA 2
#替換文本中指定內容
$ cat aa.txt | tr “aa” "AA"
bb 3
AA 2
bb 3
bb 3
AA 2
4、paste 文本合併
usage:
paste [-d "分隔符"] fileA fileB
# 將A b兩個文件用“:”分隔後,進行拼接,
$ cat A.txt
a
b
c
d
$ cat B.txt
2
3
4
5
6
7
$ paste -d ":" A.txt B.txt
a:2
b:3
c:4
d:5
:6
:7
5、使用split分割大文件
usage: split [-a sufflen] [-b byte_count] [-l line_count] [-p pattern]
[file [prefix]]
-l 按行分割
-b 按照文件大小分割 #二進制文件無行的概念,只能按照指定的大小進行分割
eg:
$ split -l 10 demo.txt split_dir/ #按照每10行分割demo.txt文件 ,將分割的文件保存到split_dir 文件夾中
$ cd split_dir/
$ ls # 查看分割文件目錄,可以看到分割的衆多子文件
aa ac ae ag ai ak am ao aq as au aw ay ba
ab ad af ah aj al an ap ar at av ax az bb
$ split -b 1m demo.txt split_dir/ #按照每個分割文件1m的大小分割文件