文章目录
- 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列中搜索模式
这些命令可以单独使用,也可以通过管道组合使用,形成强大的文本处理流水线。