【Linux】高效文本處理命令

目錄

一.sort命令(排序)

1.語法格式

2.常用選項

3.相關示例

3.1.

3.2.

二.unip命令(去重)

1.語法格式

2.常用選項

3.相關示例

3.1.

3.2.

三.tr命令(替換)

1.語法格式

2.常用選項

3.相關示例

3.1.

4.刪除空行

方法1

方法2

補充:

1.Windows的另起一行格式(\r\n)轉換成 Linux的另起一行格式(\n)

方法1

方法2

2.對數組排序

四.cut命令(裁剪)

1.語法格式

2.常用選項

3.字符串分片?

3.1.

3.2.

3.3.

五.split命令(拆分)

1.語法格式

2.常用選項

3.拓展(面試題)

3.1.

3.2.

六.paste命令(合并)

1.語法格式

2.常用選項

3.補充(合并文件)

3.1.合并文件的行

3.2.合并文件的列

拓展:

eval命令(掃描)

相關示例


一.sort命令(排序)

  • 以行為單位對文件內容進行排序,也可以根據不同的數據類型來排序
  • 比較原則是從首字符向后,依次按ASCII碼值進行比較,最后將他們按升序輸出

1.語法格式

sort [選項] 參數XXX | sort 選項

2.常用選項

-n按照數字的大小進行排序

-r

倒序排序(配合-n使用)
-u相當于下面的那個命令uniq,去重復的行(只保留一行重復內容)
-t指定字段的分隔符
-k指定排序的字段
-o<輸出文件>另保存輸出排序的結果(相當于重定向輸出)
-f忽略大小寫,把小寫字母也當作大寫字母看待
-b忽略每行前面的空格

3.相關示例

3.1.

sort -n
[root@localhost day15]# vim 1.txt
[root@localhost day15]# sort -n 1.txt
33
45
65
155 
353
545
888
9999
35653
65623
94545

3.2.

sort -n -r

二.unip命令(去重)

  • 用于報告或者忽略文件中連續的重復行,常與 sort 命令結合使用

1.語法格式

uniq [選項] 參數XXX | uniq 選項

2.常用選項

-c進行計數,并刪除文件中重復出現的行
-u顯示僅出現一次的行(包括不連續的重復行)
-d僅顯示重復出現的行(必須是連續的重復行)

3.相關示例

3.1.

uniq  -c 

3.2.

uniq  -u

三.tr命令(替換)

  • 常用來對來自標準輸入的字符進行替換、壓縮和刪除

1.語法格式

XXX | tr 選項 '參數1' ['參數2']

2.常用選項

-c保留字符集1的字符,其他字符包括換行符\n用字符集2替換
-d刪除所有屬于字符集1的字符
-s將連續重復的字符串壓縮成一個
-t字符集2 替換 字符集1,不加選項效果相同

3.相關示例

3.1.

tr  -s

4.刪除空行

方法1

cat 文件 | grep -v "^$"

方法2

cat 文件 | tr -s "\n"

補充:

1.Windows的另起一行格式(\r\n)轉換成 Linux的另起一行格式(\n)

方法1

cat 文件 | tr -d '\r' > 新文件

方法2

yum install -y dos2unix 

2.對數組排序

echo ${數組名[@]} | tr ' ' '\n' | sort -rn | tr '\n' ' '

四.cut命令(裁剪)

  • 對字段進行截取和剪裁

1.語法格式

cut [選項] 參數cat file | cut [選項] 參數 

2.常用選項

-d '分隔符' -f 字段序號根據 -d 指定的分隔符的截取顯示 -f 指定的字段
--complement取反,不顯示 -f 指定的字段
--output-delimiter '分隔符'指定輸出的字段分隔符
?

3.字符串分片?

3.1.

echo ${變量:下標:長度} ? ? ? ? ? ? ? ? ? ? ? 下標起始從0開始

3.2.

echo $變量 | cut -b 起始下標-終止下標 ? ? ? ? 下標起始從1開始

3.3.

expr substr $變量 起始下標 長度 ? ? ? ? ? ? ?下標起始從1開始

五.split命令(拆分)

  • 用于在Linux下將大文件拆分為若干小文件

1.語法格式

split 選項 參數 原始文件 拆分后文件名前綴

2.常用選項

-l根據行數分割文件
-b根據大小分割文件
-d輸出的目標文件后綴用數字替代
?

3.拓展(面試題)

3.1.

如何將一個10G文件分割為10個1G的文件

 split -b 1G -d 原文件  目標文件名前綴

3.2.

如何將一個100行文件分割為10個10行的文件

split -l 10 -d 原文件  目標文件名前綴

六.paste命令(合并)

  • 將多個文件按照列進行合并

1.語法格式

paste   [選項]    文件1     文件2

2.常用選項

-d '分隔符'?指定輸出的字段分隔符
-s將每個列橫向輸出

3.補充(合并文件)

3.1.合并文件的行

cat 文件1 文件2  ... > 新文件

3.2.合并文件的列

paste -d '分隔符' 文件1 文件2 ... > 新文件

拓展:

eval命令(掃描)

  • 在命令行執行前,先將命令行里的變量置換成對應的值后,再執行命令

相關示例

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/12686.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12686.shtml
英文地址,請注明出處:http://en.pswp.cn/web/12686.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TiDB學習2:TiDB Sever

目錄 1. TiDB Server架構 2. sql語句的解析和編譯 2.1 Parse ?編輯 2.2 compile 3. 行轉化為KV對(聚簇表) ?編輯4. SQL 讀寫相關模塊 4.1 DistSQL(復雜查詢) 4.2 KV(簡單查詢) 5. 在線DDL相關模塊 6. GC機制與相關模塊 7. TiDB Server的緩存 8. 熱點小表緩存 9. …

c++ fs::rename

【C 17 新特性 文件管理】探索C Filesystem庫&#xff1a;文件和目錄操作的全面指南&#xff08;一&#xff09;-阿里云開發者社區 fs::rename("old_directory", "new_directory"); 底層原理: 在Linux系統中&#xff0c;這通常通過rename系統調用來實現。…

做好串口控制是源代碼防泄密的基礎

在信息化時代&#xff0c;數據安全與保密工作的重要性日益凸顯。尤其是在涉密單位&#xff0c;如軍工、政府、金融等行業&#xff0c;防泄密工作直接關系到國家安全、社會穩定和企業利益。串口作為計算機與外部設備通信的重要接口&#xff0c;其安全性同樣不容忽視。本文將探討…

react18【系列實用教程】useMemo —— 緩存數據 (2024最新版)

為什么添加了 memo &#xff0c;子組件2依然重新渲染了呢&#xff1f; 因為父組件向子組件2傳遞了引用類型的數據 const userInfo {name: "朝陽",};<Child2 userInfo{userInfo} />memo() 函數的本質是通過校驗Props中數據的內存地址是否改變來決定組件是否重新…

TEMU電商行情分析:未來趨勢與盈利機遇探討

近年來&#xff0c;跨境電商行業風起云涌&#xff0c;其中TEMU作為新興力量&#xff0c;其市場表現備受關注。那么&#xff0c;TEMU電商現在的行情究竟如何?對于賣家而言&#xff0c;是否仍然是一個能夠賺錢的平臺呢? 首先&#xff0c;從市場趨勢來看 TEMU電商正處于一個快速…

如何設計學術會議海報?

在參加學術會議的時候&#xff0c;制作一份會議海報來展示你的研究內容是十分必要的。海報是你與別人交流研究成果時的關鍵部分&#xff0c;也是成功科研生涯的重要元素。海報本身自帶許多優秀的特質&#xff1a;思路清晰、內容精練&#xff0c;并且極易引起他人的興趣。 一、…

vant添加列表, 日期選擇總是填充到最后一個組內原因

添加多個行程, 無論在哪個行程上修改時間, 時間總是只顯示在最后一個行程里 錯誤代碼: <div class"journey"><divv-for"(item, index) in ruleform.hrms_business_item":key"index"><div class"journey-title">&l…

Python執行MYSQL SQL文件

很多情況下我們需要Python來執行SQL文件&#xff0c;但是一般庫沒有提供這些功能&#xff0c;直接執行經常會出錯&#xff0c;這里分析各種情況下執行SQL語句的處理。如果你沒有時間的話&#xff0c;直接跳轉查看[第三點](#3. 包含DELIMITER的語句)。 準備工作 這里采用**mys…

Linux之函數應用實例--加法器

一、創建一個對2個整數求和的加法器 首先&#xff0c;定義了一個名為 adder 的 Bash 函數&#xff0c;該函數接受兩個參數 $1 和 $2 并輸出它們的和。 function adder { echo $[ $1$2 ] } 注意&#xff1a; function 關鍵字是可選的。在 Bash 中&#xff0c;可以簡單地使…

近程無人機平臺技術體系

近程無人機平臺技術體系 1、技術體系1.1、專用技術體系固定翼技術體系旋翼技術體系復合翼技術體系撲翼技術體系傾轉旋翼技術體系1.2、通用技術體系2、固定翼技術體系2.1、固定翼無人機介紹2.2、優勢與局限2.3、固定翼專用體系介紹3、旋翼技術體系3.1、旋翼無人機介紹3.2、優勢與…

前端 JS 經典:數組去重萬能方法

前言&#xff1a;只需要掌握這一個方法&#xff0c;就可以對有任何重復的數據數組&#xff0c;進行去重了。 可以自己思考下&#xff0c;怎么對以下對象數組去重&#xff1a; const arr [{ a: 1, b: 2 },{ b: 2, a: 1 },{ a: 1, b: 2, c: { a: 1, b: 2 } },{ b: 2, a: 1, c:…

Geotrust哪種通配符證書800

Geotrust是成立了幾十年的CA認證機構&#xff0c;每年都會通過WebTrust審計&#xff0c;旗下擁有各種類型的SSL數字證書產品&#xff0c;例如單域名SSL證書、多域名SSL證書和通配符SSL證書等。而為了更好地區分SSL證書產品&#xff0c;Geotrust旗下還分了幾個子品牌&#xff0c…

解決項目下的lib包沒有打進jar的問題

背景 項目在本地運行正常,發布到測試環境就不行,測試環境報缺少lib包下的類 解決方案 在項目的 pom.xml 文件中 <build></build> 標簽下的 <resources></resources>標簽中&#xff0c;加入以下代碼&#xff0c;如&#xff1a; <build><res…

電池的一些UL認證標準

1、如今手機使用頻率越來越高&#xff0c;充電器廣泛地應用于交通上&#xff0c;為消費者提供充電的方便&#xff0c;汽車上的車充與我們產生了密切的聯系&#xff0c;如果車充質量不好&#xff0c;可能會導致嚴重的后果&#xff0c;因此UL 2089標準著重于防止車充電擊、燃燒&a…

MySQL存儲引擎介紹

查看MySQL數據庫中創建表的信息 如上圖所示&#xff0c;當我們使用命令show create table server_info\G;可以顯示我們所創建的表的信息&#xff0c;只顯示兩個字段&#xff0c;第一個字段是Table 即是創建的表的名稱&#xff0c;第二個字段是Create Table即是創建的表的字段的…

Python中logging模塊的使用

在Python中&#xff0c;logging模塊提供了一個靈活的日志記錄系統&#xff0c;用于將程序的輸出信息分門別類地發送到不同的目的地。Logger對象是這個系統的核心&#xff0c;它負責創建日志消息。默認情況下&#xff0c;如果沒有特別配置&#xff0c;Logger會將日志輸出到標準錯…

Redis過期刪除策略和內存淘汰策略有什么區別?

Redis過期刪除策略和內存淘汰策略有什么區別&#xff1f; 前言過期刪除策略如何設置過期時間&#xff1f;如何判定 key 已過期了&#xff1f;過期刪除策略有哪些&#xff1f;Redis 過期刪除策略是什么&#xff1f; 內存淘汰策略如何設置 Redis 最大運行內存&#xff1f;Redis 內…

buildroot添加ssh功能

在制作了自己的buildroot生成的根文件系統之后&#xff0c;是沒有ssh服務的&#xff0c;需要自行添加。 在buildroot的menuconfig里&#xff1a; Target packages -> Networking applications -> openssh 重新編譯&#xff0c;還不能通過電腦連接&#xff0c;還需配置并…

xorg.conf 設置 集顯 獨顯 英偉達 Ubuntu 風扇調速

使用集顯做顯示&#xff0c;使用獨顯做機器學習&#xff0c;那么xorg.conf如何配置&#xff1f; 如果配不好&#xff0c;那么會卡在歡迎登錄界面&#xff0c;據說也會限制風扇調速的功能。 既然GPT時代了&#xff0c;那么我們就用AI加速一下&#xff0c;直接lspci | grep -i v…

ANSYS許可監控?

在工程設計與仿真領域&#xff0c;ANSYS軟件作為行業翹楚&#xff0c;為企業提供了強大的支持。然而&#xff0c;隨著業務規模的擴大和軟件版本的升級&#xff0c;如何有效地監控ANSYS許可證的使用情況&#xff0c;確保合規性和資源的高效利用&#xff0c;成為企業面臨的重要問…