常用文件级别处理命令

2021-12-03 09:49:35 浏览数 (1)

文件处理之前,因为系统限制,需要提前进行预处理,比如文件合并、拆分等

常用文件级别命令

文件合并

直接使用cat命令

代码语言:javascript复制
cat 1.sql 2.sql 3.sql > merged.sql
cat *.sql > merged.sql

文件拆分

split命令可以把一个文件拆分成多个

  • 命令格式
代码语言:javascript复制
split [OPTION]... [INPUT [PREFIX]]
  • 常用选项
代码语言:javascript复制
-l: 每个文件的行数
-b: 每个文件的大小(字节)
-d: 使用数字作为序号
  • 用例
代码语言:javascript复制
# 拆分文件,每个文件一行
split -l 1 merged.sql 

# 拆分文件,并且设置文件前缀
split -l1  merged.sql user_

文件内容随机

shuf命令可以对文件内容行进行随机变换

代码语言:javascript复制
shuf -n merged.sql

-n: 最多输出行数

文件对比

使用comm命令

代码语言:javascript复制
$ cat file1
line 1
line 2
line 3

$ cat file2
line 3
line 4

$ comm file1 file2
line 1
line 2
                line 3
        line 4

第一列:存在file1,不在file2 第二列:存在file2,不在file1 第三列:共同所有

可以组合使用选项-1,-2,-3分别禁止对应的列输出,比如

代码语言:javascript复制
# 输出file1和file2的共同行
$ comm -13 file1 file2
line 3

0 人点赞