日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 获取命令行返回的数据_Linux | 活用CLI命令行进行数据处理与探索

發布時間:2025/3/17 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 获取命令行返回的数据_Linux | 活用CLI命令行进行数据处理与探索 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

COMMAND LINE INTERFACE

CLI即COMMAND LINE INTERFACE命令行模式,是在圖形界面得到普及之前使用最為廣泛的用戶界面,也就是咱們平時看到的黑乎乎背景與綠油油文字系統界面。

我們常常習慣于使用圖形界面(excel或juypter)對數據進行復雜操作和分析,但是面對一些文本處理可以通過一些命令更為方便快捷,本文旨在一些數據處理場景進行基礎介紹,命令的具體用法和參數還請讀者自行谷歌。

獲取數據

Linux中 curl是一個利用URL規則在命令行下工作的文件傳輸工具,可以說是一款很強大的http命令行工具。它支持文件的上傳和下載,是綜合傳輸工具,但按傳統,習慣稱url為下載工具。

wget工具體積小但功能完善,它支持斷點下載功能,同時支持FTP和HTTP下載方式,支持代理服務器和設置起來方便簡單。

# 通過鏈接下載數據 wget https://github.com/amanthedorkknight/fifa18-all-player-statistics/raw/master/2019/data.csv curl -s http://www.gutenberg.org/files/76/76-0.txt

轉化數據

in2csv是csvkit套件的一個重要工具,其作用是可以將各種格式化數據(如excel)轉化為csv文件。由于unix系統下無法直接查看excel文件,所以需要將xlsx提前轉化為csv文件即逗號分隔文件。

# 將xlsx文件轉化為csv文件,>為重定向符號,可將前一個命令輸出保存為文件。 in2csv data/imdb-250.xlsx > data/imdb-250.csv

查看數據

cat是最常用的文本查看命令,但是只能全量查看,面對較大的數據需要配合head或tail查看前n行或后n行文本。

# 只查看前1行即喵一眼列名 head -n $ head -1 data.csv ,ID,Name,Age,Photo,Nationality,Flag,Overall,Potential,Club,Club Logo,Value,Wage,Special,Preferred Foot,International Reputation,Weak Foot,Skill Moves,Work Rate,Body Type,Real Face,Position,Jersey Number,Joined,Loaned From,Contract Valid Until,Height,Weight,LS,ST,RS,LW,LF,CF,RF,RW,LAM,CAM,RAM,LM,LCM,CM,RCM,RM,LWB,LDM,CDM,RDM,RWB,LB,LCB,CB,RCB,RB,Crossing,Finishing,HeadingAccuracy,ShortPassing,Volleys,Dribbling,Curve,FKAccuracy,LongPassing,BallControl,Acceleration,SprintSpeed,Agility,Reactions,Balance,ShotPower,Jumping,Stamina,Strength,LongShots,Aggression,Interceptions,Positioning,Vision,Penalties,Composure,Marking,StandingTackle,SlidingTackle,GKDiving,GKHandling,GKKicking,GKPositioning,GKReflexes,Release Clause# 只查看后5行 tail -n $ tail -5 data.csv 18202,238813,J. Lundstram,19,https://cdn.sofifa.org/players/4/19/238813.png,England,https://cdn.sofifa.org/flags/14.png,47,65,Crewe Alexandra,https://cdn.sofifa.org/teams/2/light/121.png,€60K,€1K,1307,Right,1,2,2,Medium/ Medium,Lean,No,CM,22,"May 3, 2017",,2019,5'9,134lbs,42+2,42+2,42+2,44+2,44+2,44+2,44+2,44+2,45+2,45+2,45+2,44+2,45+2,45+2,45+2,44+2,44+2,45+2,45+2,45+2,44+2,45+2,45+2,45+2,45+2,45+2,34,38,40,49,25,42,30,34,45,43,54,57,60,49,76,43,55,40,47,38,46,46,39,52,43,45,40,48,47,10,13,7,8,9,€143K 18203,243165,N. Christoffersson,19,https://cdn.sofifa.org/players/4/19/243165.png,Sweden,https://cdn.sofifa.org/flags/46.png,47,63,Trelleborgs FF,https://cdn.sofifa.org/teams/2/light/703.png,€60K,€1K,1098,Right,1,2,2,Medium/ Medium,Normal,No,ST,21,"Mar 19, 2018",,2020,6'3,170lbs,45+2,45+2,45+2,39+2,42+2,42+2,42+2,39+2,40+2,40+2,40+2,38+2,35+2,35+2,35+2,38+2,30+2,31+2,31+2,31+2,30+2,29+2,32+2,32+2,32+2,29+2,23,52,52,43,36,39,32,20,25,40,41,39,38,40,52,41,47,43,67,42,47,16,46,33,43,42,22,15,19,10,9,9,5,12,€113K 18204,241638,B. Worman,16,https://cdn.sofifa.org/players/4/19/241638.png,England,https://cdn.sofifa.org/flags/14.png,47,67,Cambridge United,https://cdn.sofifa.org/teams/2/light/1944.png,€60K,€1K,1189,Right,1,3,2,Medium/ Medium,Normal,No,ST,33,"Jul 1, 2017",,2021,5'8,148lbs,45+2,45+2,45+2,45+2,46+2,46+2,46+2,45+2,44+2,44+2,44+2,44+2,38+2,38+2,38+2,44+2,34+2,30+2,30+2,30+2,34+2,33+2,28+2,28+2,28+2,33+2,25,40,46,38,38,45,38,27,28,44,70,69,50,47,58,45,60,55,32,45,32,15,48,43,55,41,32,13,11,6,5,10,6,13,€165K 18205,246268,D. Walker-Rice,17,https://cdn.sofifa.org/players/4/19/246268.png,England,https://cdn.sofifa.org/flags/14.png,47,66,Tranmere Rovers,https://cdn.sofifa.org/teams/2/light/15048.png,€60K,€1K,1228,Right,1,3,2,Medium/ Medium,Lean,No,RW,34,"Apr 24, 2018",,2019,5'10,154lbs,47+2,47+2,47+2,47+2,46+2,46+2,46+2,47+2,45+2,45+2,45+2,46+2,39+2,39+2,39+2,46+2,36+2,32+2,32+2,32+2,36+2,35+2,31+2,31+2,31+2,35+2,44,50,39,42,40,51,34,32,32,52,61,60,52,21,71,64,42,40,48,34,33,22,44,47,50,46,20,25,27,14,6,14,8,9,€143K 18206,246269,G. Nugent,16,https://cdn.sofifa.org/players/4/19/246269.png,England,https://cdn.sofifa.org/flags/14.png,46,66,Tranmere Rovers,https://cdn.sofifa.org/teams/2/light/15048.png,€60K,€1K,1321,Right,1,3,2,Medium/ Medium,Lean,No,CM,33,"Oct 30, 2018",,2019,5'10,176lbs,43+2,43+2,43+2,45+2,44+2,44+2,44+2,45+2,45+2,45+2,45+2,46+2,45+2,45+2,45+2,46+2,46+2,46+2,46+2,46+2,46+2,46+2,47+2,47+2,47+2,46+2,41,34,46,48,30,43,40,34,44,51,57,55,55,51,63,43,62,47,60,32,56,42,34,49,33,43,40,43,50,10,15,9

more與less對文件進行動態加載并進行滾屏查看,在查看超大文件時又快又靈活,墻裂推薦。

快捷鍵:ctrl+F向后一屏,ctrl+B向前一屏,j/k前/后一行,g文本首航,G文本末行,/查找。

# 動態查看文本,顯示行號與文本百分比 $ less -m -N data.csv1 ,ID,Name,Age,Photo,Nationality,Flag,Overall,Potential,Club,Club Logo,Value,Wage,Special,Preferred Foot,International Reputation,Weak Foot,Skill Moves,Work Rate,Body2 0,158023,L. Messi,31,https://cdn.sofifa.org/players/4/19/158023.png,Argentina,https://cdn.sofifa.org/flags/52.png,94,94,FC Barcelona,https://cdn.sofifa.org/teams/2/l3 1,20801,Cristiano Ronaldo,33,https://cdn.sofifa.org/players/4/19/20801.png,Portugal,https://cdn.sofifa.org/flags/38.png,94,94,Juventus,https://c 0%

操作文本

linux有文本處理三劍客,grep文本過濾小能手,sed增刪查改小幫手,awk格式化處理王者。

  • grep 文本過濾小能手,配合正則表達式,來過濾出一些符合我們條件的行。
# 過濾帶坤的行 ? ~ cat data.csv | grep "坤" 蔡徐坤,21,籃球,校隊球員 謝廣坤,64,收貨,象牙山紀律委員 楊坤,47,開演唱會,歌手 陳坤,43,尋寶,摸金校尉
  • sed增刪查改小幫手,一行一行處理文本。
# 刪除,sed 'm,nd' 刪除m行到n行的內容 ? ~ cat -n data.csv | sed '4,5d'1 姓名,年齡,愛好,職業2 蔡徐坤,21,籃球,校隊球員3 謝廣坤,64,收貨,象牙山紀律委員# 增加,sed 'm,na' 在m到n行后增加內容 ? ~ cat -n data.csv | sed '1d ,列名'1 姓名,年齡,愛好,職業,列名2 蔡徐坤,21,籃球,校隊球員3 謝廣坤,64,收貨,象牙山紀律委員4 楊坤,47,開演唱會,歌手5 陳坤,43,尋寶,摸金校尉# 查改,sed 's/before/after/g' 將before替換為after ? ~ sed 's/坤/坤坤/g' data1.csv1 姓名,年齡,愛好,職業2 蔡徐坤坤,21,籃球,校隊球員3 謝廣坤坤,64,收貨,象牙山紀律委員4 楊坤坤,47,開演唱會,歌手5 陳坤坤,43,尋寶,摸金校尉
  • awk格式化處理王者

awk [options] 'pattern{action}'

awk可以根據pattern對想要處理的行進行匹配,匹配之后再對其進行文本操作,適用以行為單位對文本進行格式化處理。

# -F設置,為分隔符, $n代表分隔后的第n個字段 # 每行以,號分隔為列,打印第一列和第三列 ? ~ awk -F ',' '{print $1,$3}' data1.csv1 姓名 愛好2 蔡徐坤 籃球3 謝廣坤 收貨4 楊坤 開演唱會5 陳坤 尋寶# BEGIN和END用于標記位置 # 給文本加上標題,結尾加上時間 ? ~ awk -F ',' 'BEGIN{print "t標題:人物信息"} {print $1,$3} END {print "ttt---2019年04月14日"}' data1.csv標題:人物信息1 姓名 愛好2 蔡徐坤 籃球3 謝廣坤 收貨4 楊坤 開演唱會5 陳坤 尋寶---2019年04月14日# 加入label為變量,if else用于條件判斷 # 加入新列, 年齡大于40的標記為老戲骨,其余為小鮮肉 ? ~ awk -F ',' '{if($2>40){label="老戲骨"}else{label="小鮮肉"};print $0,label}' data1.csv1 姓名,年齡,愛好,職業 老戲骨2 蔡徐坤,21,籃球,校隊球員 小鮮肉3 謝廣坤,64,收貨,象牙山紀律委員 老戲骨4 楊坤,47,開演唱會,歌手 老戲骨
  • tr替換,例如替換逗號分隔符為制表符。

tr ',' 't' data.csv

  • cut指定字段范圍顯示,例如顯示前3列文本。

cut -c-3 data.csv

CSV CSV CSV !!!

CSV是咱們數據民工每天面對的難題,如何應用命令行靈活處理CSV呢?

csvlook可用于查看csv文件并格式化,--max-rows設置行數,--max-columns設置列數 。

$ csvlook wine-red.csv --max-rows 5 --max-columns 5 | fixed acidity | volatile acidity | citric acid | residual sugar | chlorides | ... | | ------------- | ---------------- | ----------- | -------------- | --------- | --- | | 7.4 | 0.70 | 0.00 | 1.9 | 0.076 | ... | | 7.8 | 0.88 | 0.00 | 2.6 | 0.098 | ... | | 7.8 | 0.76 | 0.04 | 2.3 | 0.092 | ... | | 11.2 | 0.28 | 0.56 | 1.9 | 0.075 | ... | | 7.4 | 0.70 | 0.00 | 1.9 | 0.076 | ... | | ... | ... | ... | ... | ... | ... |

表格通常由表頭與數據組成,橫向分隔為列,縱向分隔為行。而與之對應的也有三大處理工具,body(Janssens2014a),header(Janssens2014c),andcols(Janssens2014b)。

# 顯示列名 $ cat wine-red.csv | header "fixed acidity";"volatile acidity";"citric acid";"residual sugar";"chlorides";"free sulfur dioxide";"total sulfur dioxide";"density";"pH";"sulphates";"alcohol";"quality"# 除了列名將所有小寫字母替換為大寫字母 < tips.csv body "tr '[a-z]' '[A-Z]'" | head -n 5 | csvlook | bill | tip | sex | smoker | day | time | size | | ----- | ---- | ------ | ------ | ---------- | ------ | ---- | | 16.99 | 1.01 | FEMALE | False | 0001-01-07 | DINNER | 2 | | 10.34 | 1.66 | MALE | False | 0001-01-07 | DINNER | 3 | | 21.01 | 3.50 | MALE | False | 0001-01-07 | DINNER | 3 | | 23.68 | 3.31 | MALE | False | 0001-01-07 | DINNER | 2 |
  • csvstat統計列最大,最小,均值,unique等統計值。
  • --max (maximum)
  • --min (minimum)
  • --sum (sum)
  • --mean (mean)
  • --median (median)
  • --stdev (standard deviation)
  • --nulls (whether column contains nulls)
  • --unique (unique values)
  • --freq (frequent values)
  • --len (max value length)
  • $ csvstat tips.csv1. "bill"Type of data: NumberContains null values: FalseUnique values: 229Smallest value: 3.07Largest value: 50.81Sum: 4827.77Mean: 19.785943Median: 17.795StDev: 8.902412Most common values: 13.42 (3x)10.34 (2x)21.01 (2x)10.33 (2x)17.92 (2x)2. "tip"Type of data: NumberContains null values: FalseUnique values: 123Smallest value: 1Largest value: 10Sum: 731.58Mean: 2.998279Median: 2.9StDev: 1.383638Most common values: 2 (33x)3 (23x)4 (12x)5 (10x)2.5 (10x).....Row count: 244

    最后給大家替工一個docker image,免去安裝各種依賴環境的繁瑣。

    $ docker pull datascienceworkshops/data-science-at-the-command-line $ docker run --rm -it datascienceworkshops/data-science-at-the-command-line

    相關資料

    Data Science at the Command Line
    Csvkit Document TutorialLinux三劍客之awk命令awk從入門到放棄
    What is the difference between sed and awk?

    作者才疏學淺,文章中可能出現紕漏,忘讀者多多指正交流。

    各位點一波贊吧~~

    總結

    以上是生活随笔為你收集整理的linux 获取命令行返回的数据_Linux | 活用CLI命令行进行数据处理与探索的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 午夜国产精品视频 | 特黄一级视频 | 自拍偷拍福利 | 精品国产精品 | 亚洲成人午夜在线 | 久久亚洲AV成人无码一二三 | 久久中文字幕在线 | av作品在线观看 | 天天色宗合 | av色图在线 | 午夜视频导航 | 521a人成v香蕉网站 | 国产人妻精品一区二区三区 | 亚洲美女一级片 | 亚洲视频天天射 | 亚洲欧美日韩动漫 | 火影忍者羞羞漫画 | 国产老熟妇精品观看 | 最新啪啪网站 | 国产不卡精品视频 | 一级久久久久久久 | 欧美jizz19性欧美 | 封神榜二在线高清免费观看 | 无码人妻丰满熟妇区毛片18 | 国产视频福利在线观看 | 怡红院一区 | 天天国产视频 | 亚洲视频天堂 | 精品一区在线视频 | 午夜精 | 亚洲成人h | 在线一区二区三区四区 | 亚洲综合视频网 | 亚洲无色 | www.xxx亚洲| 韩国无码av片在线观看网站 | 成年人性生活视频 | 一区二区三区四区av | 99ri精品 | 99视频在线看 | 国产亚洲精久久久久久无码苍井空 | 欧美性xxxxx 亚洲特黄一级片 | 成人在线观看国产 | 日本a在线观看 | 国产日韩欧美 | fc2成人免费视频 | av资源新版在线天堂 | 青青草久久伊人 | 好吊一区| av在线免费网址 | 麻豆综合| 午夜免费体验区 | 日韩中文字幕二区 | 我要看免费的毛片 | 中文字幕码精品视频网站 | 二十四小时在线更新观看 | 天天色图片 | 激情一级片 | 亚洲白浆| 黄页网站免费在线观看 | 最新中文字幕av专区 | 无遮挡aaaaa大片免费看 | 农村妇女毛片 | 久草福利在线视频 | 深夜福利一区二区三区 | www,色| 婷婷六月综合 | 激情九月天 | 三级视频在线看 | 国产精品videossex国产高清 | 欧美1区| 成人性爱视频在线观看 | 久操视频在线观看免费 | 我们2018在线观看免费版高清 | 波多野结衣av一区二区全免费观看 | 大肉大捧一进一出好爽mba | 亚洲男人天堂av | 午夜网站在线观看 | 成人夜晚视频 | 蜜臀视频在线播放 | 最近中文字幕在线免费观看 | 在线成人小视频 | 一边吃奶一边摸做爽视频 | 无码人妻精品一区二区三应用大全 | 欧美精品入口蜜桃 | 久久精品无码一区二区三区毛片 | 久久久久久久久国产精品 | 精品国产一区二区三区久久久蜜月 | 天海翼一区二区 | 蜜臀av免费一区二区三区水牛 | 五月天激情开心网 | 天天草天天干 | 91久久精品日日躁夜夜躁欧美 | 九色视频偷拍少妇的秘密 | 女人扒开屁股让男人捅 | 五月天社区 | 免费在线观看高清影视网站 | 一级黄色性生活视频 | 99久久久久久久久久 |