shell编程常用命令

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  ' '   ' ';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]]

原文地址:https://www.cnblogs.com/xiaofeng666/p/11723084.html