Linux基礎命令之文件過濾及內容編輯處理(二)

来源:https://www.cnblogs.com/flashfish/archive/2019/04/16/10718316.html
-Advertisement-
Play Games

. wc 用於統計文件的行數,單詞,或位元組數 -l # 統計行數 -L # 列印最長行的長度,一般腳本中判斷字元長度 -c # 統計位元組數 -w # 統計單詞數 -m 統計字元數 . iconv 轉換文件的編碼格式 iconv [options] [-f from-encoding] [-t to- ...


. wc

  用於統計文件的行數,單詞,或位元組數

  -l  # 統計行數

  -L  # 列印最長行的長度,一般腳本中判斷字元長度

  -c  # 統計位元組數

  -w  # 統計單詞數

  -m  統計字元數

. iconv

  轉換文件的編碼格式

  iconv [options] [-f from-encoding] [-t to-encoding] [inputfile]...

          源編碼    新編碼    輸入文件

  -f   # 從編碼A轉換

  -t  # 轉換為編碼B

  -l  # 顯示系統支持的編碼

  -o  # 將輸出輸入到指定文件

iconv -f gb2312 -t utf-8 GB2312.txt

. dos2unix

  將DOS格式文件轉換成UNIX格式

  dos2unix [options] [-c convmode] [-o file ...] [-n infile outfile ...]

  windows系統下,文本是以"\r\n"作為換行標誌的,而UNIX下的文本文件是以“\n”作為換行標誌的

  反之,unix2dos將linux文件的“\n”轉化成Windows文件的“\r\n”

  

. diff

   逐行比較純文本文件的內容

  預設顯示格式有如下三種提示

  a-add

  c-change

  d-delete

  "<"打頭的行屬於文件1, ">"打頭的行屬於文件2

  -y  # 併排輸出顯示兩個文件的不同之處

. vimdiff

  此命令是調用vim命令打開文件可以同時打開2個,3個,最多4個文件,並且會以不同的顏色來區分文件的差異

  

 

. rev

  按行反向輸出文件內容,將內容倒著輸出

  

[root@mysql-141 ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@mysql-141 ~]# echo {1..10}|rev
01 9 8 7 6 5 4 3 2 1

. tr

  從標準輸入中替換,縮減或刪除字元,並將結果寫到標準輸出

  -d  刪除字元

  -s  保留連續字元的第一個字元,刪除其他字元

  -c  使用第一個字元串set1的補集,取反

  

tr 'abc' 'xyz' <xiaolizi.txt # tr命令jie接文件比較特殊,需要輸入重定向,將穩中出現的abc替換為xyz,所有a替換成x,b-y,c-z

tr '[a-z]' '[A-Z]' <xiaolizi.txt

tr -d 'xiaolizi'<xiaolizi.txt    # 使用參數-d刪除字元
tr -d '\n\t' <xiaolizi.txt    # 使用-d參數刪除所有換行符和製表符

echo  'xxxiiiaaalllliiiizzz'|tr -s xiaolizi    # 將連續字元壓縮成一個


tr -c ‘0-9’ ‘*’  <xiaolizi.txt    # 取反操作

 

. tee

   將數據重定向到指定文件和屏幕上,各輸出一份

  -a  項文件追加內容,而不是覆蓋

[root@mysql-141 ~]# ls
01-monitoring.py  02-ps_pid.sh     backup.sh           new_aa  test
01-monitoring.sh  anaconda-ks.cfg  install.log         new_ab  test.txt
02-ps_name.sh     backup_check.sh  install.log.syslog  new_ac  youhua.sh
[root@mysql-141 ~]# ls|tee -a ls.txt
01-monitoring.py
01-monitoring.sh
02-ps_name.sh
02-ps_pid.sh
anaconda-ks.cfg
backup_check.sh
backup.sh
install.log
install.log.syslog
new_aa
new_ab
new_ac
test
test.txt
youhua.sh
[root@mysql-141 ~]# cat ls.txt 
01-monitoring.py
01-monitoring.sh
02-ps_name.sh
02-ps_pid.sh
anaconda-ks.cfg
backup_check.sh
backup.sh
install.log
install.log.syslog
new_aa
new_ab
new_ac
test
test.txt
youhua.sh

 


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

-Advertisement-
Play Games
更多相關文章
  • 前期準備工作 1,一個已經測試通過的winform程式 2,安裝好的installshield2013插件 ps:一般VS都沒有安裝此插件,需要自己去下載 打包步驟 1,新建一個打包程式 ps:如果你的項目列表中只有2沒有1,說明你沒有安裝installshield2013插件 2,打包工具簡介 3 ...
  • 枚舉概念 枚舉類型(也稱為枚舉)提供了一種有效的方式來定義可能分配給變數的一組已命名整數常量。該類型使用enum關鍵字聲明。 示例代碼1 預設情況下枚舉中每個元素的基本類型都是int。可以使用冒號指定另一種整數類型。 示例代碼2 預設情況下,第一個枚舉值具有值0,並且每個連續枚舉數的值將增加1。 枚 ...
  • 一步一步指導您使用 ElasticSearch, Kibana, ASP.NET Core 2.1 和 Docker 來記錄日誌 ...
  • Skip()和Take()方法都是IEnumerable<T> 介面的擴展方法,包括C#中的所有Collections類,如ArrayList,Queue,Stack等等,還有數組和字元串都可以調用這兩個方法。 Skip()和Take()方法都是IEnumerable<T> 介面的擴展方法,包括C# ...
  • 一.概述 OAuth 2.0資源(web api)所有者密碼授權,允許客戶端(Client項目)向令牌服務(IdentityServer項目)發送用戶名和密碼,並獲取代表該用戶的訪問令牌。在官方文檔中講到:規範通常建議不要使用“資源所有者密碼授權”。當用戶進行身份驗證並請求訪問令牌時,使用一個互動式 ...
  • HtmlAgilityPack官網:https://html-agility-pack.net/?z=codeplex .net中使用HtmlAgilityPack做爬蟲步驟: 1、在nuget中安裝HtmlAgilityPack 安裝好之後我們就可以開始我們的爬蟲之旅了 2、抓取網頁源代碼 1 v ...
  • vi是Linux命令行界面下的文字編輯器,vim是vi的增強版(Vi IMproved),完全相容 可以理解成普通的txt文本與word文檔之間的差距。 註:還有一款全屏編輯器是nano,可以瞭解下 【vim的三種模式】 普通模式,編輯模式,命令模式 1.普通模式 使用vim命令打開文件,只能使用上 ...
  • 每個學員機上有三台預先配置好的虛擬機server —— 作為練慣用伺服器desktop —— 作為練慣用客戶機classroom —— 提供網關/DNS/軟體素材等資源 通過真機上“虛擬系統管理器”訪問在列表中找到classroom、server、desktop按順序打開並運行、操作 首先保證cla ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...