文章目錄
- Linux 操作文本文件列數據的常用命令
- 基本列處理命令
- 高級列處理
- 列數據轉換和排序
- 列數據統計和分析
Linux 操作文本文件列數據的常用命令
Linux 提供了多種強大的命令來處理文本文件中的列數據,以下是一些最常用的命令和工具:
基本列處理命令
-
cut - 提取文件的列
cut -f 1,3 file.txt # 提取第1和第3列(制表符分隔) cut -d',' -f 2 file.csv # 提取逗號分隔文件的第2列
-
awk - 強大的文本處理工具
awk '{print $2}' file.txt # 打印第2列(默認空格分隔) awk -F',' '{print $1,$3}' file.csv # 打印逗號分隔文件的第1和第3列
-
paste - 合并文件的列
paste file1.txt file2.txt # 水平合并兩個文件
高級列處理
-
column - 格式化列輸出
column -t file.txt # 以表格形式顯示列數據
-
datamash - 數據統計和操作
datamash groupby 1 sum 2 < file.txt # 按第1列分組并求第2列的和
-
csvkit工具集(需安裝) - 專門處理CSV文件
csvcut -c 1,3 file.csv # 提取CSV文件的第1和第3列 csvstat file.csv # 顯示CSV文件的統計信息
列數據轉換和排序
-
sort - 按列排序
sort -k2 file.txt # 按第2列排序 sort -t',' -k3n file.csv # 按逗號分隔的第3列數值排序
-
join - 基于共同列合并文件
join -j1 file1.txt file2.txt # 基于第1列合并兩個文件
-
tr - 字符轉換(常用于列數據)
cut -f1 file.txt | tr 'a-z' 'A-Z' # 提取第1列并轉為大寫
列數據統計和分析
-
uniq - 統計列中唯一值
cut -f1 file.txt | sort | uniq -c # 統計第1列各值的出現次數
-
wc - 統計列數/行數
wc -l file.txt # 統計行數
-
grep - 基于列的過濾
awk '{print $2}' file.txt | grep 'pattern' # 在第2列中搜索模式
這些命令可以單獨使用,也可以通過管道組合使用,形成強大的文本處理流水線。