shell常用工具
文章目錄
- 一 sort
- 1.1 語法格式
- 1.2 常用選項
- 1.3 工具用法實例
- 二 unig工具
- 2.1 命令格式
- 2.2 常用選項
- 三 tr
- 3.1 命令格式
- 3.2 選項
- 3.3 tr映射
- 3.4 完全對應(yīng)的替換
- 四 cut
- 4.1 其語法格式為
- 4.2 主要選項
- 4.3 cut一般以什么為依據(jù)呢?
- 4.4 以“字節(jié)”定位
- 4.5 如果“字節(jié)”定位中,我想提取第3,第4、第5和第8個字節(jié),怎么辦?
一 sort
依據(jù)不同的數(shù)據(jù)類型進(jìn)行排序
1.1 語法格式
sort +選項參數(shù)1.2 常用選項
| -f | 忽略大小寫 |
| -b | 忽略每行前面的空格 |
| -M | 按照月份進(jìn)行排序 |
| -n | 按照數(shù)字進(jìn)行排序 |
| -r | 反向排序 |
| -u | 等同于uniq,表示相同的數(shù)據(jù)僅顯示一行 |
| -t | 指定分隔符,默認(rèn)使用Tab按鍵分割 |
| -o | <輸出文件>將排序后的結(jié)果轉(zhuǎn)存至指定文件 |
| -k | 指定排序區(qū)域 |
1.3 工具用法實例
二 unig工具
用于報告或者忽略文件中的重復(fù)行
一般與sort命令結(jié)合使用
2.1 命令格式
uniq 選項參數(shù)2.2 常用選項
| -c | 統(tǒng)計出現(xiàn)的次數(shù)(count) |
| -d | 只顯示被計算為重復(fù)的行 |
| -D | 顯示所有被計算為重復(fù)的行 |
| -u | 顯示唯一值,即沒有重復(fù)值的行 |
| -i | 忽略大小寫 |
| -z | 在末尾使用\0,而不是換行符 |
| -f | 跳過多少個字段(field)開始比較重復(fù)值 |
| -s | 跳過多少個字符開始比較重復(fù)值 |
| -w | 比較重復(fù)值時每行比較的最大長度。即對每行多長的字符進(jìn)行比較 |
示例
sort uniq.txt | uniq //排序后去重sort uniq.txt | uniq -d -c// 使用-d -c統(tǒng)計重復(fù)行出現(xiàn)的次數(shù)。sort uniq.txt | uniq -D -c
-c不能和-D一起使用。結(jié)果說顯示所有重復(fù)行再統(tǒng)計重復(fù)次數(shù)是毫無意義的行為。
三 tr
3.1 命令格式
tr [options] [SET1] [SET2 ]3.2 選項
| -c | 使用SET1的補(bǔ)集 |
| -d | 刪除字符 |
| -s | 壓縮字符 |
| -t | 截斷SET1,使得SET1的長度和SET2的長度相同 |
3.3 tr映射
3.4 完全對應(yīng)的替換
cat x.txt | tr -s " "//使用tr壓縮空格使其變的規(guī)則cat x.txt | tr -s " " "-" //如果指定SET2,假如替換為"-" tr -d ///是刪除指定的符號 tr -c SET1 S //ET2是將標(biāo)準(zhǔn)輸入按照SET1求補(bǔ)集 [root@xuexi tmp]# echo "one ONE 1 two TWO 2 three THREE 3" | tr -d -c "[:upper:] \n" ONE TWO THREE [root@xuexi tmp]# echo "one ONE 1 two TWO 2 three THREE 3" | tr -d -c "[:alpha:] \n" one ONE two TWOthree THREE [root@xuexi tmp]# echo "one ONE 1 two TWO 2 three THREE 3" | tr -d -c "[:digit:] \n" 1 2 3四 cut
cut是一個選取命令,就是將一段數(shù)據(jù)經(jīng)過分析,取出我們想要的。一般來說,選取信息通常是針對“行”來進(jìn)行分析的,并不是整篇信息分析的。
4.1 其語法格式為
cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]4.2 主要選項
| -b | 以字節(jié)為單位進(jìn)行分割。這些字節(jié)位置將忽略多字節(jié)字符邊界,除非也指定了 -n 標(biāo)志 |
| -c | 以字符為單位進(jìn)行分割 |
| -d | 自定義分隔符,默認(rèn)為制表符 |
| -f | 與-d一起使用,指定顯示哪個區(qū)域 |
| -n | 取消分割多字節(jié)字符。僅和 -b 標(biāo)志一起使用。如果字符的最后一個字節(jié)落在由 -b 標(biāo)志的 List 參數(shù)指示的 范圍之內(nèi),該字符將被寫出;否則,該字符將被排除。 |
4.3 cut一般以什么為依據(jù)呢?
第一:字節(jié)(bytes),用選項 -b
第二:字符(characters),用選項 -c
第三:域(fields),用選項 -f
4.4 以“字節(jié)”定位
4.5 如果“字節(jié)”定位中,我想提取第3,第4、第5和第8個字節(jié),怎么辦?
示例
總結(jié)
- 上一篇: mysql查看授权_mysql查看用户授
- 下一篇: 动态规划求一个序列的最长回文子序列(Lo