Linux系列shell編程之文檔操作(1)

      網友投稿 877 2022-05-29

      1、wc命令功能:統計文件行數、單詞數等功能。

      # wc常用選項。后面帶了###,表示常用的。 -l:統計多少行 ### -w:統計字數 ### -c:統計文件字節數,一個英文字母1字節,一個漢字占2-4字節(根據編碼) -m:統計文件字符數,一個英文字母1字符,一個漢字占1個字符 -L:統計最長行的長度,也可以統計字符串長度 ### -help:顯示幫助信息 -version:顯示版本信息

      Linux系列:shell編程之文檔操作(1)

      操作如下:

      [hadoop@image1 shell]$ cat wc.txt aaa ssss ttttt bbbbbb;llll ffffffffffffffff gggggggggg [hadoop@image1 shell]$ wc wc.txt 4 6 61 wc.txt 行數 單詞數 字節數 文件名 # -l 統計文件有多少行 [hadoop@image1 shell]$ wc -l wc.txt 4 wc.txt [hadoop@image1 shell]$ cat wc.txt | wc -l 4 # -w 統計文件單詞數 [hadoop@image1 shell]$ wc -w wc.txt 6 wc.txt [hadoop@image1 shell]$ cat wc.txt | wc -w 6 # -L 統計最長行的長度。空格也算 [hadoop@image1 shell]$ wc -L wc.txt 20 wc.txt # -L 還可以統計字符串的長度 [hadoop@image1 shell]$ echo "abc" | wc -L 3

      2、sort命令功能:排序(默認把整行作為整體,進行排序)

      # 常用選項 -f:忽略字母大小寫,就是將小寫字母視為大寫字母排序 -M:根據月份比較,比如JAN、DEC -h:根據易讀的單位大小比較,比如2K、1G -g:按照常規數值排序 -n:根據字符串數值比較 -r:倒序(降序)排序 ### -k:位置1,位置2根據關鍵字排序,在從第位置1開始,位置2結束 ### -t:指定分隔符 ### -u:去除重復行 ### -o:將結果寫入文件

      默認把每一行看成一個整體,進行排序。

      將數據按照指定分隔符分割,然后按照分割后的第二列數據,進行排序。

      將數據按照指定分隔符分割,然后按照分割后的第二列數據,進行排序。若分裂后的第二列數據相同,就按照第三列降序。

      刪除重復行。既可以去除相鄰行的重復,也可以去重不相鄰行的重復。與下面的uniq進行對比學習。

      3、uniq命令功能:去重。只能去除相鄰行。

      # 常用選項 -c:打印出現的次數 -d:只打印重復行。 -u:只打印不重復行。 -D:只打印重復行,并且把所有重復行打印出來 -f N:比較時跳過前N列 -i:忽略大小寫 ### -s N:比較時跳過前N個字符 -w N:對每行第N個字符以后內容不做比較

      操作如下:

      uniq命令結合sort命令的幾種用法。

      4、一個簡單案例:求兩個文件的并集。

      原始文件如下:

      操作如下:

      [hadoop@image1 shell]$ cat a.txt b.txt | sort -r | uniq > c.txt [hadoop@image1 shell]$ cat c.txt g f e d c b a

      解釋如下:

      我們對所查看內容,先試用“sort -r”做一個降序排序,然后使用“uniq”進行去重, 最后使用“>”重定向到c.txt中。 一個“>”代表覆蓋原有內容。兩個“>>”代表追加在原文件之后。 注意:交集,差集使用uniq中參數一樣可以寫出來。自己可以下去練練手。

      5、cut命令功能:從一個文本文件或者文本流中提取文本列。

      常用選項

      -d:后面接分隔字符。與 -f 一起使用 -f:依據 -d 的分隔字符將一段信息分割成為數段,用 -f 取出第幾段的意思 -c:按照字符截取 -b:按照字節截取

      操作如下:

      再舉一個例子加深印象:

      [hadoop@image1 shell]$ cat cut.txt 黃渤 huangbo 18 jiangxi 徐崢 xuzheng 22 hunan 王寶強 wangbaoqiang 44 liujiayao [hadoop@image1 shell]$ cut -d " " -f 1,3 cut.txt 黃渤 18 徐崢 22 王寶強 44

      linux Shell

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Linux系列:shell編程之文檔操作(2)
      下一篇:設計模式-享元模式
      相關文章
      久久亚洲精品无码播放| 国产成人亚洲精品蜜芽影院| 国产成人亚洲精品影院| 国产成人综合亚洲一区| 亚洲AV成人精品日韩一区| 亚洲 欧洲 日韩 综合在线| 亚洲卡一卡2卡三卡4麻豆| 亚洲视频中文字幕在线| 内射干少妇亚洲69XXX| 亚洲免费在线播放| 亚洲高清不卡视频| 亚洲婷婷天堂在线综合| 亚洲成综合人影院在院播放| 亚洲另类自拍丝袜第1页| 亚洲中文无码a∨在线观看| 亚洲国产精品专区| 亚洲一区二区三区高清不卡 | 亚洲国产精品人久久| 亚洲精品综合一二三区在线 | 亚洲精品无码不卡在线播放HE| 中文字幕亚洲一区| 亚洲午夜久久久久妓女影院| 亚洲国产另类久久久精品黑人| 亚洲精品无码乱码成人| 国产精品亚洲片在线| 久久综合九九亚洲一区| 亚洲男人都懂得羞羞网站| 亚洲精品永久www忘忧草| 亚洲国产精品综合一区在线| 亚洲人成激情在线播放| 亚洲日本一线产区和二线| 亚洲AV无码精品国产成人| 国产精品亚洲片在线花蝴蝶| 亚洲精品tv久久久久久久久久| 国产亚洲精久久久久久无码AV| 亚洲色欲一区二区三区在线观看 | 亚洲中久无码永久在线观看同| 亚洲AV无码一区二区三区DV| 久久精品九九亚洲精品| 国产成人亚洲精品| 337P日本欧洲亚洲大胆艺术图|