Linux中常用的命令
#nl filename 使用nl命令打印文件内容并显示行号
#sed '/nw/,$d' filename 使用sed命令删除匹配nw至最后一行的内容
#cat filename | sed '/字段信息/,$!d' 使用sed的!取反,只打印匹配到的信息至最后一行的内容
#uniq -c filename 使用uniq打印出紧挨着的重复行,c选项统计出重复的次数,d选项只打印重复的行
#cat filename | sort -t: -k1 -r 以:进行分割后的按照第一列来倒序排列,默认分隔符为空格
#cat filename | tr '[0-9]' '[a-z]' 使用tr将所有数字替换成字母
#cat filename | tr '\n' '\t';echo 使用tr命令将换行符替换成制表符,最后一行使用echo进行换行显示
#cat filename | tr -d '[0-9]‘ 等价于tr -d '[0-9]' < filename 使用tr命令的-d参数删除所有的数字
#cat filename | cut -c 1-6 使用cut命令显示文件的第一个至第六个字符
#cat filename | cut -c 1-2,4- 使用cut命令显示文件的第1-2字符,第4个至最后一个字符,使用cut命令只需看第一行数据,其余各行都是按照第一行顺序进行执行
#cat filename | cut -d'分隔符' -f指定列
# ifconfig ens33 | awk -F'[ ]+' 'NR==2{print $3}' 使用awk命令取出网卡ip地址
#split -5 filename spt 把filename文件每5行分割成一个文件,每个文件的前缀都是以spt开头
在Linux中,可以使用split 命令来分割文件,具体格式为:split [options] file [prefix].
其中 options为可选参数, 最后一个参数prefix是为分割后的文件指定文件名前缀.
-b: 根据文件大小分割,分割后文件大小可以为:k (KB), M (MB), G (GB), c (byte), w (word)等...
-l: 根据行数来分割.
-d: 指定以数字为后缀.
-a length: 指定长度为length的后缀.
file: 待分割文件.
命令 split -b 20k example.txt -d -a 3 split_file
表示分割文件example.txt,每个文件大小为20k, 并且以分割后文件以split_file加三位数字为前缀命名.
可以看到,该命令分割文件example.txt, 运行命令后多出了四个以split_file加数字为前缀的文件,且分割出来的文件大小最大为20k.
如果想以行数分割文件,只需要把-b改为-l即可,下面命令把example.txt分割为多个文件,每个文件最多300行.
split -l 300 example.txt -d -a 3 split_file
得到所需要大小的文件后,我们就可以继续上传文件或发送邮件的操作了。
Usage: split [OPTION]... [INPUT [PREFIX]]