linux 的一些腦洞操作

来源:http://www.cnblogs.com/ywliao/archive/2017/07/23/7224763.html
-Advertisement-
Play Games

把當前文件夾的文件名用","連接成一行,或者將多行轉變為一行 將行逆序輸出 刪除 開頭的註釋行 去掉每行開頭4個字元 對文件第一列進行統計 對文件第四列用":"切割成兩列並將最後一列結果+1,然後輸出全部列 對文件第二列求均值 實現DNA序列反向互補 某一行插入另外一個文件的內容 對一個文件按照第一 ...


把當前文件夾的文件名用","連接成一行,或者將多行轉變為一行

ls | paste -s -d ","  # -s 選項將輸入進行一次性粘貼
ls | xargs | sed 's/ /,/g'  #xargs 將輸入作為參數(空格分隔)傳入
ls | awk '{printf "%s,",$0}'

將行逆序輸出

sed '1!G;h;$!d’'file  # 1!G 第一行不執行G命令,從第二行開始執行;$!d 最後一行不刪除;第一行自動存入模式空間,將模式空間內容(第一行)放到保持空間(h),然後刪除模式空間內容(d,否則它會自動輸出),第二行自動存入模式空間,(開始用G)將保持空間(第一行內容)接到模式空間(第二行)後,將當前模式空間(第二行+第一行)放到保持空間(h),然後刪除當前模式空間(d),依次類推,最後一行不刪除模式空間,再自動輸出模式空間內容

刪除#開頭的註釋行

sed '/^#.*/d' test.txt

去掉每行開頭4個字元

cut -c 4- test.csv

對文件第一列進行統計

awk -F "," '{count[$1]++} END{for (record in count) print record,count[record] }' test.csv  #count[$1]++創建關聯數組count[$1]併進行計數

對文件第四列用":"切割成兩列並將最後一列結果+1,然後輸出全部列

awk -F "," '{split($4,array,":");print $1,$2,$3,array[1],array[2]+1}' test.csv  #split切割$4存到數組array中,array[1]和arrya[2]即為切割後的兩個區域

對文件第二列求均值

awk -F "," '{sum+=$2} END {print "Average = ", sum/NR}' test.csv

實現DNA序列反向互補

cat seq.txt | sed 'y/ATGC/TACG/' |rev

某一行插入另外一個文件的內容

sed '2 r a.txt' test.csv 

對一個文件按照第一列進行篩選,篩選條件是必須在另外一個文件的第一列出現過

awk -F "," '{if(NR==FNR){count[$1]=1}else if(count[$1]==1){print $0}}' chr.txt test.csv  #將第一個文件第一列的值存入關聯數組,並給值為1,如果第二個文件建立的關聯數組對應值為1,說明在第一個文件第一列出現過,則輸出整行

對文件第二列和第三列進行展開

展開前四列

展開後成為三列

awk -F "," '{for (i=$2;i<=$3;i++) {print $1,i,$4}}'  test.csv 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 協同過濾(Collaborative Filtering,CF)演算法是一種常用的推薦演算法,它的思想就是找出相似的用戶或產品,向用戶推薦相似的物品,或者把物品推薦給相似的用戶。怎樣評價用戶對商品的偏好?可以有很多方法,如用戶對商品的打分、購買、頁面停留時間、保存、轉發等等。得到了用戶對商品的偏好,就可 ...
  • 總結下mysql rpm安裝的方式,與一些錯誤 環境[root@host2 ~]# uname -aLinux host2 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/L ...
  • 1.Mapreduce是什麼? Mapreduce是一個分散式運算程式的編程框架,是用戶開發“基於hadoop的數據分析應用”的核心框架; Mapreduce核心功能是將用戶編寫的業務邏輯代碼和自帶預設組件整合成一個完整的分散式運算程式,併發運行在一個hadoop集群上; 2.作用 (1)海量數據在 ...
  • 單位用到了oracle存儲string類型到資料庫里的clob,上網查看資料找到解決方案。如下: 轉自:http://bestxiaok.iteye.com/blog/1027733 ...
  • 【文件管理、管道、用戶及組管理、用戶及許可權管理】\用戶及組管理 用戶與組管理 Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資 ...
  • 暑假在家有些懈怠,不,非常懈怠— —||!良心已經發痛了,想快些補回原來的進度,但忽然發現,中斷了一段時間再重新去學習,有的地方連最基本的符號都忘記了 ,這次特意弄個最最基礎的,恢復一下,以前的進度。 1.建立一個工作空間 在home文件夾裡面發現新建好了相應的文件夾,當然裡面,空空的,什麼都沒有。 ...
  • 前言 因為比賽的限制是使用Hadoop2.7.2,估在此文章下麵的也是使用Hadoop2.7.2,具體下載地址為 "Hadoop2.7.2" 開始的準備 目前在我的實驗室上有三台Linux主機,因為需要參加一個關於spark數據分析的比賽,所以眼見那幾台伺服器沒有人用,我們團隊就拿來配置成集群。具體 ...
  • 一.環境: centos release 6.9 python 2.7.13 二.安裝工具bypy sudo pip install bypy 三.使用bypy 3.1 授權 3.2 上傳文件 bypy upload (在某個文件夾下就會將文件夾下的內容全部上傳到雲端) 3.3 下載文件 bypy ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...